यह मेरे लिए समान दिखता है, लेकिन मुझे यकीन नहीं है,
क्योंकि वहाँ कई परियोजनाओं का उपयोग करता है dirname(__FILE__)।
यह मेरे लिए समान दिखता है, लेकिन मुझे यकीन नहीं है,
क्योंकि वहाँ कई परियोजनाओं का उपयोग करता है dirname(__FILE__)।
जवाबों:
उनका परिणाम बिल्कुल वैसा ही है ; इसलिए, उस पर कोई अंतर नहीं है।
उदाहरण के लिए, दो निम्नलिखित लाइनें:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
क्या दोनों एक ही आउटपुट देंगे:
string '/home/squale/developpement/tests/temp' (length=37)
लेकिन, कम से कम दो अंतर हैं:
__DIR__केवल PHP> = 5.3 के साथ मौजूद है
dirname(__FILE__)अधिक व्यापक रूप से इसका उपयोग किया जाता है__DIR__संकलन-समय पर मूल्यांकन किया जाता है, जबकि dirname(__FILE__)फ़ंक्शन-कॉल का अर्थ है और निष्पादन-समय पर मूल्यांकन किया जाता है
__DIR__है (या होना चाहिए) तेजी से।
संदर्भ के रूप में, मैनुअल के मैजिक कॉन्स्टेंट सेक्शन को देखें (उद्धृत) :
__DIR__: फ़ाइल की निर्देशिका।
यदि किसी शामिल के अंदर उपयोग किया जाता है, तो शामिल फ़ाइल की निर्देशिका वापस कर दी जाती है।
इसके बराबर हैdirname(__FILE__)।
जब तक यह रूट डायरेक्टरी नहीं है, तब तक इस निर्देशिका नाम में अनुगामी स्लैश नहीं है।
(PHP 5.3.0 में जोड़ा गया है।)
__DIR__तेज है।