एक PHP रेफरेंस एक उपनाम है, जो दो अलग-अलग वेरिएबल्स को उसी मान को लिखने की अनुमति देता है। PHP 5 में, एक ऑब्जेक्ट वेरिएबल में ऑब्जेक्ट स्वयं अपने मान के रूप में नहीं होता है। यह एक ऑब्जेक्ट पहचानकर्ता रखता है जो ऑब्जेक्ट एक्सेसर्स को वास्तविक ऑब्जेक्ट ढूंढने की अनुमति देता है।
जब किसी ऑब्जेक्ट को आर्गुमेंट द्वारा भेजा जाता है, लौटाया जाता है, या किसी अन्य वेरिएबल को असाइन किया जाता है, तो ये अलग-अलग वेरिएबल्स उपनाम नहीं हैं। उनमें पहचानकर्ता की एक प्रति होती है, जो उसी ऑब्जेक्ट को इंगित करती है।
उदाहरण
$my_var = new class_name; echo $my_var->get_class_name(5)->value; $my_var->test(); echo $my_var->get_class_name(5)->value;
आउटपुट
यह निम्न आउटपुट देगा:
class_name #5
यह "रेफरेंस द्वारा पास" नहीं है। यह वास्तव में "रेफरेंस द्वारा असाइनमेंट" है। PHP 5 में ऑब्जेक्ट्स के साथ रेफरेंस द्वारा असाइनमेंट डिफ़ॉल्ट व्यवहार है।