परिचय
नेमस्पेस के अंदर क्लास, फंक्शन और कॉन्स्टेंट्स की घोषणा उनकी पहुंच को प्रभावित करती है, हालांकि कोई अन्य PHP कोड इसमें मौजूद हो सकता है। PHP का namespace कीवर्ड एक नए नेमस्पेस की घोषणा करने के लिए उपयोग किया जाता है। .php एक्सटेंशन वाली फाइल में नेमस्पेस घोषणा <?php टैग के बाद बहुत पहली लाइन में होनी चाहिए, किसी अन्य कोड जैसे HTML स्क्रिप्ट से पहले।
उदाहरण: सही नेमस्पेस घोषणा
<?php
namespace myspace;
class myclass {
//
}
function hello() {
echo "Hello World\n";
}
?>
गलत स्थान पर नेमस्पेस घोषणा
यदि नेमस्पेस घोषणा फाइल के शीर्ष पर नहीं है, तो PHP पार्सर घातक त्रुटि फेंकता है:
<html>
<body>
Hello world
<?php
namespace myspace;
function hello() {
echo "Hello World\n";
}
use myspace;
myspace\hello();
?>
</body>
</html>
आउटपुट
PHP Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script
केवल declare कंस्ट्रक्ट पहले आ सकता है
<?php
declare (strict_types=1);
namespace myspace;
function hello() {
echo "Hello World\n";
}
use myspace;
myspace\hello();
?>
मुख्य नियम
- नेमस्पेस घोषणा फाइल की पहली स्टेटमेंट होनी चाहिए (
- केवल
declare()स्टेटमेंट नेमस्पेस से पहले आ सकता है। - नेमस्पेस से पहले कोई HTML, व्हाइटस्पेस, या अन्य आउटपुट नहीं होना चाहिए।
- एक फाइल में एक से अधिक नेमस्पेस घोषित किए जा सकते हैं (ब्रैकेटेड सिंटैक्स के साथ)।
- नेमस्पेस नाम केस-इनसेंसिटिव हैं।
सामान्य गलतियां
- नेमस्पेस से पहले HTML आउटपुट (यहां तक कि व्हाइटस्पेस भी)।
- नेमस्पेस से पहले कोई इको/प्रिंट स्टेटमेंट।
- नेमस्पेस से पहले require/include (यदि वे आउटपुट उत्पन्न करते हैं)।