PHP में require, include, require_once, include_once: पूरी गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में require, include, require_once, include_once: क्या चुनें और क्यों यह महत्वपूर्ण है?

\n\n

क्या आपने कभी सोचा है: "PHP में require और include में असल में क्या अंतर है? और ये _once वाले वर्जन क्यों बनाए गए?" — अगर हाँ, तो आप अकेले नहीं हैं। यह सवाल Stack Overflow पर सबसे लोकप्रिय सवालों में से एक है (हजारों व्यूज और दर्जनों वोट)। और यह कोई संयोग नहीं है।

\n\n

हर दिन हजारों PHP डेवलपर्स — नौसिखिए से लेकर एक्सपर्ट तक — इन फंक्शन्स का इस्तेमाल करते हैं। लेकिन कई लोग इन्हें बिना सोचे-समझे इस्तेमाल करते हैं, नतीजों के बारे में नहीं सोचते। और यह गलत है। गलत चुनाव से फैटल एरर, कोड डुप्लीकेशन, या इससे भी बदतर, ऐसे बग्स हो सकते हैं जो सिर्फ लाइव सर्वर पर ही दिखाई दें।

\n\n

आज हम हमेशा के लिए समझ लेंगे कि require, include, require_once और include_once में क्या अंतर है। आप सिर्फ थ्योरी ही नहीं, बल्कि लाइव कोड उदाहरण भी देखेंगे जिन्हें आप तुरंत चला सकते हैं। चलिए शुरू करते हैं!

\n\n

1. बेसिक: फाइलों को कनेक्ट क्यों करें?

\n\n

अंतर समझने से पहले, याद करते हैं कि हम ऐसा क्यों करते हैं। असली प्रोजेक्ट्स में PHP कोड एक बड़ी फाइल में नहीं लिखा जाता। यह मेंटेन करना मुश्किल होगा। इसके बजाय, कोड को मॉड्यूल्स में बांटा जाता है:

\n\n
    \n
  • कॉन्फ़िगरेशन — config.php
  • \n
  • फंक्शन्स — functions.php
  • \n
  • टेम्पलेट्स — header.php, footer.php
  • \n
  • क्लासेज — User.php, Database.php
  • \n
\n\n

और यहीं पर require और include काम आते हैं। ये एक फाइल की सामग्री को दूसरी फाइल में "चिपका" देते हैं। PHP कनेक्ट की गई फाइल को ऐसे प्रोसेस करता है जैसे उसका कोड ठीक उसी जगह लिखा गया हो।

\n\n

2. require vs include: मुख्य अंतर — एरर पर रिएक्शन

\n\n

यह सबसे महत्वपूर्ण बिंदु है। इसे हमेशा याद रखें।

\n\n

include — सॉफ्ट कनेक्शन

\n\n

include फाइल को कनेक्ट करने की कोशिश करता है। अगर फाइल मौजूद नहीं है या कोई एरर आती है, तो PHP Warning (चेतावनी) देता है, लेकिन स्क्रिप्ट को चलने देता है।

\n\n
<?php\n// include.php\necho "यह include है। ";\ninclude 'गैरमौजूद_फाइल.php'; // Warning देगा\necho "स्क्रिप्ट काम करती रहती है!";\n?>\n
\n\n

परिणाम:

\n
यह include है। Warning: include(गैरमौजूद_फाइल.php): failed to open stream...\nस्क्रिप्ट काम करती रहती है!
\n\n

देखा? स्क्रिप्ट नहीं रुकी, आगे बढ़ गई। यह तब उपयोगी है जब फाइल का कनेक्शन वैकल्पिक हो। जैसे, अगर आप कोई विजेट कनेक्ट कर रहे हैं जो पेज के लिए जरूरी नहीं है।

\n\n

require — हार्ड कनेक्शन

\n\n

require भी यही करता है, लेकिन एक अंतर के साथ: अगर फाइल नहीं मिलती, तो PHP Fatal Error (जानलेवा एरर) देता है और तुरंत स्क्रिप्ट रोक देता है।

\n\n
<?php\n// require.php\necho "यह require है। ";\nrequire 'गैरमौजूद_फाइल.php'; // Fatal Error देगा\necho "यह कोड कभी नहीं चलेगा!";\n?>\n
\n\n

परिणाम:

\n
यह require है। Fatal error: Uncaught Error: Failed opening required 'गैरमौजूद_फाइल.php'...
\n\n

स्क्रिप्ट मर गई। बस। आगे कुछ नहीं।

\n\n

कब क्या इस्तेमाल करें?

\n
    \n
  • require — बेहद जरूरी फाइलों के लिए: DB कॉन्फ़िगरेशन, मुख्य क्लासेज, राउटर। अगर ये नहीं हैं, तो साइट काम नहीं कर सकती।
  • \n
  • include — वैकल्पिक ब्लॉक्स के लिए: टेम्पलेट्स, विजेट्स, विज्ञापन बैनर। अगर फाइल कनेक्ट नहीं होती, तो पेज बिना उस ब्लॉक के दिख जाएगा।
  • \n
\n\n

3. require_once और include_once: डुप्लीकेशन से बचाव

\n\n

अब एक स्थिति सोचिए। आपके पास एक config.php फाइल है जो कॉन्स्टेंट और फंक्शन्स डिफाइन करती है। आप

ब्लॉग

पुस्तक अनुशंसाएँ