जवाबों:
उन्हें निम्नानुसार परिभाषित किया गया है:
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );
dirname
एक PHP फ़ंक्शन है जो मूल निर्देशिका का पथ लौटाता है, और wp-includes
बहुत ही आत्म व्याख्यात्मक है।
मैं कहूंगा कि ABSPATH
यह बेहतर है क्योंकि यह पहली चीजों में से एक है जो WP लोड करता है और यह बेहतर भी दिखता है :) लेकिन कोई वास्तविक "सही तरीका" नहीं है क्योंकि दोनों काम करते हैं।
if ( ! defined( 'WPINC' ) ) die;
और if ( ! defined( 'ABSPATH' ) ) exit;
अपनी प्लगइन फ़ाइल के लिए किसी भी सीधी पहुँच को रोककर सुरक्षा की एक अतिरिक्त परत जोड़ें। ABSPATH
वर्डप्रेस द्वारा अपने मूल में परिभाषित एक PHP स्थिरांक है।
यदि आपकी प्लगइन फ़ाइल वर्डप्रेस के बाहर से एक्सेस की जाती है, तो निरंतर ABSPATH
या WPINC
परिभाषित नहीं होगी, इसलिए यह आपके कोड में किसी भी अनधिकृत पहुंच को रोकते हुए, प्लगइन कोड से बाहर निकलता है।
ABSPATH
और WPINC
वर्डप्रेस कोर में निम्नानुसार परिभाषित किए गए हैं:
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );
दोनों एक ही उद्देश्य के लिए उपयोग किए जाते हैं।
WPINC और ABSPATH के बीच अंतर क्या हैं?
आप खुद देख सकते हैं। बस को देखने केwp-load.php
GitHub पर वर्डप्रेस दर्पण पर।
यहां तक कि एक त्वरित झलक दिखाएगा कि वर्तमान में चयनित उत्तर अब ABSPATH
परिभाषित नहीं है कि कैसे परिभाषित किया गया है। और यदि आप GitHub पर विभिन्न टैग्स की तुलना करते हैं तो आप देखेंगे कि ABSPATH
समय के साथ वास्तव में परिभाषा बदल जाती है।
इसे करने का 'सही' तरीका कौन सा है?
सुरक्षा के लिए इनका उपयोग किया जाता है, मैं इसके लिए जाऊंगा ABSPATH
। Rationale को ABSPATH
केवल WP बूटस्ट्रैपर में पहले परिभाषित नहीं किया जा रहा है , WPINC
एक ही फाइल में एक सशर्त के तहत परिभाषित किया गया है और परिणामस्वरूप, भविष्य के प्रतिगमन का अनुभव करने की अधिक संभावना है।
इसके अलावा, जबकि स्पष्ट रूप से नहीं कहा, आप दोनों का उपयोग कर उदाहरण प्रदान की die
और exit
। के अनुसार devdocs.io
, जो आधिकारिक एपीआई प्रलेखन पर आकर्षित होता है, die
के बराबर है exit
, इसलिए आप दोनों में से किसी एक को चुन सकते हैं और इससे कोई फर्क नहीं पड़ेगा।
दोनों die
और exit
तर्क स्वीकार करते हैं, इसलिए आप उनका उपयोग कुछ उपयोगी जानकारी, जैसे एन्क्रिप्टेड संस्करण टैग या संपर्क जानकारी, पर रोक देने, या आगे के प्रसंस्करण के लिए 0
या जैसे एक निकास कोड पास करने के लिए करने पर विचार कर सकते हैं -1
।
यह भी ध्यान देने योग्य है कि wp_die
यह भी एक बात है। PHP द्वारा निर्मित के साथ भ्रमित नहीं होना चाहिए, लेकिन सादे पाठ के अलावा HTML के आउटपुट में उपयोग के लिए उन्हें बधाई देता हूं और वर्तमान में वर्डप्रेस कोर में उदारतापूर्वक उपयोग किया जाता है। WordPress.org पर अधिकwp_die
जानें ।
if ( ! defined( 'ABSPATH' ) ) exit;
... लेकिन, हो सकता है, इस बात पर विचार करें कि इस स्निपेट का दायरा यह सुनिश्चित करता है कि वर्डप्रेस लोड किया गया है 'WPINC' बेहतर है क्योंकि 'WP' के साथ अधिक वर्डप्रेसफुल घूर रहा है।