2009-11-30 12 views
7

इसका मतलब क्या है जब कोई PHP फ़ंक्शन नाम अंडरस्कोर से शुरू होता है?पीएचपी फ़ंक्शन में अंडरस्कोर

उदाहरण के लिए

: __construct()

मुझे पता है कि निर्माण का मतलब है, लेकिन मैं अन्य स्थानों को देखा है जहां समारोह एक अंडरस्कोर, या एक डबल अंडरस्कोर के साथ शुरू होता है और मैं सिर्फ महत्व का यकीन नहीं है।

+0

धन्यवाद, हर कोई, आपके उत्तरों के लिए। – Stepppo

उत्तर

16

इसका मतलब है कि PHP इसे स्पष्ट रूप से कॉल करता है।

यह कहा जाता है एक 'जादू विधि'

इसके अलावा, यह दो अंडरस्कोर, नहीं एक है।

यहां और जानें: PHP Magic Methods

+4

आह। PHP में जादू। अगला जो भी हो? –

+1

हर कोई php से नफरत करता है - और मैं इसे सीखने पर विचार कर रहा हूं :( – Amarghosh

+2

शेर राजा का उद्धरण: "हवा में मैजिक है !!! ' –

5

पीएचपी में, कार्यों दो अंडरस्कोर से शुरू आमतौर पर विशेष अर्थ है। मैनुअल से:

पीएचपी भंडार सभी फ़ंक्शन नाम के साथ शुरू __ जादुई के रूप में। यह है कि आप फ़ंक्शन नामों का उपयोग PHP में __ के साथ नहीं करते हैं जब तक आप कुछ दस्तावेज़ित जादू कार्यक्षमता चाहते हैं।

उदाहरण के लिए __construct() एक विशेष विधि है जिसे किसी ऑब्जेक्ट को प्रारंभ करते समय स्वचालित रूप से कहा जाता है।

भी Se: http://php.net/manual/en/language.oop5.magic.php

1

अन्य उत्तर में बताया गया है, डबल अंडरस्कोर "जादू" तरीकों के लिए प्रयोग किया जाता है। विचार यह है कि उपयोगकर्ता जानबूझकर विधि नाम के लिए दो अंडरस्कोर का उपयोग नहीं करेगा, इसलिए टकराव का थोड़ा खतरा है। मेरा मानना ​​है कि यह एक अंडरस्कोर नहीं है, मेरा मानना ​​है कि, ओल्ड निजीकरण को लागू करने के लिए 'निजी' कीवर्ड आने से पहले, एकल अंडरस्कोर पुराने (डेर) पुराने दिनों में निजी तरीकों के लिए एक लोकप्रिय सम्मेलन था।

0

कोडनिर्देशक में, यदि आप अंडरस्कोर के साथ नियंत्रक में कोई विधि प्रारंभ करते हैं, तो राउटर को यह पता चलेगा कि इसे यूआरएल से एक्सेस नहीं किया जाए।

2

एक सामान्य नामकरण "कोडिंग शैली" भी है जो एक प्रारंभिक अंडरस्कोर का उपयोग करता है ताकि विधियों या गुणों को निजी/संरक्षित किया जा सके। मुझे लगता है कि यह बहुत व्यापक है।

+0

हां, मैंने इसका उपयोग सी # में किया है – dmeehan

संबंधित मुद्दे