डॉक्स संदर्भ (= &) द्वारा असाइन का उपयोग करते हैं लेकिन क्या PHP 5 के साथ यह आवश्यक है?


12

मैंने Joomla प्रलेखन में देखा है, जैसे कि JFactory / getSession के लिए , कि उदाहरण =&एक साधारण असाइनमेंट ( =) के बजाय असाइन-बाय-रेफरेंस ( ) का उपयोग करते हैं ।

$session =& JFactory::getSession();

क्या यह केवल आउट-ऑफ-डेट, या उद्देश्यपूर्ण रूप से PHP 4 के उपयोगकर्ताओं को कवर कर रहा है?

क्या यह PHP 5 के तहत आवश्यक है? या क्या कुछ जुमला संबंधित है जिसे मैंने अनदेखा किया है?


बड़ा अच्छा सवाल! मुझे अक्सर आश्चर्य होता है कि क्या मुझे बराबरी के प्रतीक और एम्परसेंड या सिर्फ बराबरी के प्रतीक का उपयोग करना चाहिए।
TryHarder

कुछ डॉक्स अपडेट नहीं किए गए हैं। जब आप कुछ स्पॉट करते हैं, तो बस संपादन बटन दबाएं, यह एक विकी है।
वैलेंटाइन देस्पा

जवाबों:


9

यह PHP4 बार उपयोग किया गया था। PHP5 से वस्तुओं को संदर्भ द्वारा सौंपा गया है, इसलिए स्पष्ट रूप से ऐसा करने की कोई आवश्यकता नहीं है।


1
php 5 में यह कई सख्त मानकों की चेतावनी का कारण बनता है और साथ ही यह जूमला कोर में बहुत कुछ है, कभी-कभी मज़ेदार समय होता है जब आप विकास त्रुटि रिपोर्टिंग के लिए स्वैप करते हैं। PHP में उन परिवर्तनों में से एक और जो पीछे की संगतता को कठिन बनाता है।
जॉर्डन रामस्टेड

यह Joomla 1.5 में खराब है क्योंकि यह PHP 4.3 अप को सपोर्ट करने के लिए लिखा गया था। 2.5 और 3.x के साथ, E_STRICTकोर में त्रुटियों की मात्रा न्यूनतम है यदि कोई हो।
माइकल

1
धन्यवाद, मुझे लगता है कि यह एक PHP4 हैंगओवर होना चाहिए था, लेकिन Joomla 1.6+ के साथ PHP5 + की आवश्यकता है मुझे आश्चर्य होने लगा था। मामूली बिंदु, लेकिन ऑब्जेक्ट वास्तव में PHP5 में "संदर्भ द्वारा निर्दिष्ट" नहीं हैं। असाइन-बाय-रेफरेंस ऑपरेटर reqd नहीं है (ज्यादातर मामलों में) क्योंकि PHP5 में क्लास इंस्टेंसेस को अलग तरीके से स्टोर किया जाता है। (वर्ग के उदाहरण PHP4 के रूप में मान के बजाय "ऑब्जेक्ट पहचानकर्ता" रखते हैं।) ऑब्जेक्ट मान के बजाय PHP5 में "ऑब्जेक्ट आइडेंटिफ़ायर" असाइन किया गया है। शुद्ध परिणाम समान है, लेकिन अंतर हैं।
MrWhite
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.