परिचय
require स्टेटमेंट का प्रभाव PHP में include स्टेटमेंट के समान है। हालांकि, एक मुख्य अंतर है। यदि पार्सर आवश्यक फ़ाइल को खोजने में विफल रहता है, तो यह एक घातक त्रुटि उत्पन्न करता है जिससे वर्तमान स्क्रिप्ट समाप्त हो जाती है। दूसरी ओर include स्टेटमेंट फ़ाइल न मिलने की स्थिति में चेतावनी देता है और वर्तमान स्क्रिप्ट का निष्पादन जारी रखता है।
PHP पार्सर डिफ़ॉल्ट रूप से वर्तमान फ़ोल्डर में फ़ाइल का पता लगाने का प्रयास करता है और आगे php.ini की include_path सेटिंग में उल्लिखित डायरेक्टरीज में, include स्टेटमेंट के मामले में जैसे। यदि मांगी गई फ़ाइल वर्तमान फ़ोल्डर के साथ-साथ include_path फ़ोल्डर्स में भी उपलब्ध नहीं है, तो PHP पार्सर E_COMPILE_ERROR उत्सर्जित करता है और कॉलिंग मॉड्यूल का निष्पादन रोक दिया जाता है।
require स्टेटमेंट का अन्य व्यवहार include स्टेटमेंट के समान है।
उदाहरण
उदाहरण 1: require के साथ इन्क्लूड
निम्न उदाहरण में मुख्य PHP स्क्रिप्ट test.php को इन्क्लूड करती है:
<?php echo "inside main script\n"; $var1 = 100; echo "now calling test.php script\n"; require "test.php"; echo "returns from test.php"; ?> // test.php <?php $var2 = 200; // मुख्य स्क्रिप्ट से $var1 एक्सेस करना echo $var1 + $var2 . "\n"; ?>
आउटपुट
inside main script now calling test.php script 300 returns from test.php
असफल require के लिए त्रुटि
उदाहरण 2: मौजूद न होने वाली फ़ाइल के लिए घातक त्रुटि
<?php echo "inside main script\n"; $var1 = 100; echo "now calling nosuchfile.php script\n"; require "nosuchfile.php"; echo "returns from nosuchfile.php"; ?>
आउटपुट
inside main script now calling nosuchfile.php script PHP Fatal error: require(): Failed opening required 'nosuchfile.php' (include_path='C:\xampp\php\PEAR') in line 5 Fatal error: require(): Failed