परिचय
किसी भी नेमस्पेस परिभाषा की अनुपस्थिति में, क्लास, फंक्शन आदि की सभी परिभाषाएं एक ग्लोबल नेमस्पेस में रखी जाती हैं। यदि किसी नाम को \ से प्रीफिक्स किया जाता है, तो इसका मतलब है कि नाम की आवश्यकता ग्लोबल स्पेस से है, भले ही नेमस्पेस के संदर्भ में हो।
ग्लोबल स्पेस स्पेसिफिकेशन का उपयोग
उदाहरण: ग्लोबल फंक्शन कॉल करना
<?php
namespace test;
/* यह फंक्शन है test\fopen */
function fopen() {
/* ... */
$f = \fopen(...); // ग्लोबल fopen कॉल करें
return $f;
}
?>
इंक्लूडेड फाइलें डिफ़ॉल्ट रूप से ग्लोबल नेमस्पेस में डिफ़ॉल्ट होती हैं।
उदाहरण: इंक्लूडेड फाइल का नेमस्पेस
test1.php
<?php echo __NAMESPACE__ . "\n"; ?>
यह खाली स्ट्रिंग प्रिंट करेगा।
test2.php (अन्य नेमस्पेस में शामिल)
<?php
namespace testspace {
include 'test1.php';
echo __NAMESPACE__ . "\n";
}
?>
आउटपुट
testspace
व्याख्या
- test1.php का कोई नेमस्पेस नहीं है, इसलिए यह ग्लोबल नेमस्पेस में चलता है (
__NAMESPACE__खाली स्ट्रिंग लौटाता है)। - test2.php में
namespace testspaceहै, इसलिए__NAMESPACE__"testspace" लौटाता है। - इंक्लूड की गई फाइल अपने नेमस्पेस को नहीं बदलती - यह ग्लोबल रहती है जब तक कि उसके अंदर नेमस्पेस घोषित न हो।
ग्लोबल स्पेस में कोड लिखना
नेमस्पेस वाली फाइल में ग्लोबल कोड लिखने के लिए ब्रैकेटेड सिंटैक्स का उपयोग करें:
<?php
namespace MyProject {
// नेमस्पेस कोड
}
namespace {
// ग्लोबल कोड
function globalFunction() { }
}
?>