Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP नेमस्पेस परिभाषित करना: namespace कीवर्ड और नियम


परिचय

नेमस्पेस के अंदर क्लास, फंक्शन और कॉन्स्टेंट्स की घोषणा उनकी पहुंच को प्रभावित करती है, हालांकि कोई अन्य 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 (यदि वे आउटपुट उत्पन्न करते हैं)।
  1. - क्या PHP में परिभाषित नेमस्पेस की सूची प्राप्त करना संभव है?

    दिए गए फ़ाइल 1 में नेमस्पेस ns_1 है और फ़ाइल 2 में नेमस्पेस ns_2 है, यदि फ़ाइल 1 और फ़ाइल 2 को फ़ाइल 3 में शामिल किया जाता है, तो यह जानने का कोई तरीका नहीं है कि नेमस्पेस ns_1 और ns_2 लोड किए गए हैं। एकमात्र तरीका class_exists फ़ंक्शन का उपयोग करना है और विशिष्ट नेमस्पेस के साथ वर्गों की सूची get_

  1. - PHP में नेमस्पेस कीवर्ड क्या है?

    इस लेख में, हम PHP में नेमस्पेस के बारे में जानने जा रहे हैं। PHP में जब हम बड़े एप्लिकेशन बना रहे होते हैं या थर्ड-पार्टी एप्लिकेशन/लाइब्रेरी को इंटीग्रेट कर रहे होते हैं तो क्लास नामों, फंक्शन नामों के बीच टकराव की संभावना हो सकती है। इसलिए इन समस्याओं से बचने के लिए PHP नेमस्पेस संबंधित क्लासेज,

  1. - C# में पैकेज: नेमस्पेस की समझ

    Java में पैकेज के विकल्प के रूप में, C# भाषा में नेमस्पेस (namespace) होता है।Java में पैकेजJava में पैकेज का उपयोग नामकरण संघर्षों को रोकने, एक्सेस को नियंत्रित करने, क्लासेस, इंटरफेस, एन्यूमरेशन और एनोटेशन की खोज/पहचान और उपयोग को आसान बनाने के लिए किया जाता है।C# में नेमस्पेसएक नेमस्पेस को एक तरह