परिचय
PHP में, namespace कीवर्ड का उपयोग नेमस्पेस को परिभाषित करने के लिए किया जाता है। इसका उपयोग वर्तमान नेमस्पेस में किसी विशेष एलिमेंट तक पहुंच का अनुरोध करने के लिए एक ऑपरेटर के रूप में भी किया जाता है। __NAMESPACE__ कॉन्स्टेंट वर्तमान नेमस्पेस का नाम लौटाता है।
__NAMESPACE__ कॉन्स्टेंट
नामित नेमस्पेस से, __NAMESPACE__ इसका नाम लौटाता है, ग्लोबल और अनाम नेमस्पेस के लिए यह खाली स्ट्रिंग लौटाता है।
उदाहरण 1: ग्लोबल नेमस्पेस
# test1.php <?php echo "name of global namespace: " . __NAMESPACE__ . "\n"; ?>
आउटपुट
name of global namespace:
उदाहरण 2: नामित नेमस्पेस
<?php namespace myspace; echo "name of current namespace: " . __NAMESPACE__ . "\n"; ?>
आउटपुट
name of current namespace: myspace
डायनामिक नाम निर्माण
__NAMESPACE__ डायनामिक रूप से नाम बनाने के लिए उपयोगी है:
<?php
namespace MyProject;
class myclass {
function hello() { echo "hello world"; }
}
$cls = "myclass";
function get($cls) {
$a = __NAMESPACE__ . '\\' . $cls;
return new $a;
}
get($cls)->hello();
?>
आउटपुट
hello world
namespace ऑपरेटर
namespace कीवर्ड का उपयोग क्लासेज के लिए self ऑपरेटर के समकक्ष के रूप में किया जा सकता है, ताकि वर्तमान नेमस्पेस या सब-नेमस्पेस से किसी एलिमेंट को स्पष्ट रूप से अनुरोध किया जा सके।
उदाहरण 1: नेमस्पेस के अंदर
<?php
namespace Myspace;
class myclass {
function hello() { echo "hello Myspace"; }
}
$a = new namespace\myclass();
$a->hello();
?>
आउटपुट
hello Myspace
उदाहरण 2: ग्लोबल नेमस्पेस से
<?php
class myclass {
function hello() { echo "hello global space"; }
}
$a = new namespace\myclass();
$a->hello();
?>
आउटपुट
hello global space
मुख्य उपयोग
- __NAMESPACE__ - वर्तमान नेमस्पेस नाम प्राप्त करने के लिए (स्ट्रिंग के रूप में)।
- namespace\ClassName - वर्तमान नेमस्पेस में क्लास को स्पष्ट रूप से संदर्भित करने के लिए।
- namespace\sub\ClassName - सब-नेमस्पेस में क्लास संदर्भित करने के लिए।
- namespace\functionName() - वर्तमान नेमस्पेस में फंक्शन कॉल करने के लिए।
- namespace\CONSTANT - वर्तमान नेमस्पेस में कॉन्स्टेंट एक्सेस करने के लिए।