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

PHP नेमस्पेस अवलोकन: नाम संघर्ष से बचाव


परिचय

PHP में, नेमस्पेस के उपयोग से समान नाम वाली क्लासेज/फंक्शन्स/कॉन्स्टेंट्स को विभिन्न संदर्भों में बिना किसी संघर्ष के उपयोग किया जा सकता है, जिससे इन आइटम्स को एनकैप्सुलेट किया जाता है। एक नेमस्पेस क्लासेज/फंक्शन्स आदि का तार्किक समूह है जो उनकी प्रासंगिकता पर निर्भर करता है। जैसे एक ही नाम की फाइल दो अलग-अलग फोल्डर्स में मौजूद हो सकती है, वैसे ही एक निश्चित नाम की क्लास को दो नेमस्पेस में परिभाषित किया जा सकता है। इसके अलावा, जैसे हम किसी फाइल का पूरा पथ निर्दिष्ट करके एक्सेस प्राप्त करते हैं, हमें क्लास का पूरा नाम नेमस्पेस के साथ निर्दिष्ट करना होता है।

एप्लिकेशन कोड बढ़ने पर नेमस्पेस का उपयोग महत्वपूर्ण हो जाता है। प्रत्येक क्लास/फंक्शन को एक यूनिक नाम देना मुश्किल और सुंदर नहीं होता, नेमस्पेस काम आता है। उदाहरण के लिए, यदि हमें area और tax की गणना के लिए calculate() फंक्शन घोषित करने की आवश्यकता है, तो उन्हें calculate_area() और calculate_tax() के रूप में परिभाषित करने के बजाय, हम area और tax नाम के दो नेमस्पेस बना सकते हैं और उनके अंदर calculate() उपयोग कर सकते हैं।

नेमस्पेस दो समस्याओं का समाधान करते हैं:

  • किसी तीसरे पक्ष की क्लासेज/फंक्शन्स/कॉन्स्टेंट्स के साथ नाम टकराव से बचाव।

  • अतिरिक्त लंबे नामों को एलियास (या छोटा) करने की क्षमता प्रदान करना, जिससे सोर्स कोड की पठनीयता में सुधार होता है।

PHP नेमस्पेस संबंधित क्लासेज, इंटरफेस, फंक्शन्स और कॉन्स्टेंट्स को समूहित करने का एक तरीका प्रदान करते हैं। नेमस्पेस नाम केस-इनसेंसिटिव हैं।

उदाहरण: नेमस्पेस परिभाषित करना और उपयोग करना

<?php
namespace myspace;
function hello() {
    echo "Hello World\n";
}
?>

नेमस्पेस के अंदर परिभाषित फंक्शन को कॉल करने के लिए, use कीवर्ड के साथ शामिल करें। फंक्शन का नाम नेमस्पेस के साथ क्वालिफाइड होता है।

<?php
namespace myspace;
function hello() {
    echo "Hello World\n";
}
use myspace;
myspace\hello();
?>

आउटपुट

Hello World

नेमस्पेस के लाभ

  • संगठन: संबंधित कोड को तार्किक रूप से समूहित करता है।
  • नाम संघर्ष रोकथाम: समान नाम वाली क्लासेज अलग-अलग नेमस्पेस में सह-अस्तित्व में रह सकती हैं।
  • एलियासिंग: लंबे नेमस्पेस नामों को छोटा करने के लिए use कीवर्ड।
  • ऑटोलोडिंग: PSR-4 मानक नेमस्पेस को डायरेक्टरी संरचना में मैप करता है।

नेमस्पेस घोषणा नियम

  • नेमस्पेस घोषणा फाइल में
  • एक फाइल में एकाधिक नेमस्पेस हो सकते हैं (ब्रैकेटेड सिंटैक्स के साथ)।
  • नेमस्पेस नाम: Vendor\Package\SubPackage (PSR-4 कन्वेंशन)।
  1. - PHP में नेमस्पेस कीवर्ड क्या है?

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

  1. - PHP में zip_entry_name() फंक्शन

    विवरण zip_entry_name() फंक्शन zip आर्काइव फाइल का नाम लौटाता है। सिंटैक्स zip_entry_name(zip_entry) पैरामीटर्स zip_entry − zip_open() के साथ खोली गई zip फाइल का उल्लेख यहां किया जाना है। रिटर्न वैल्यू zip_entry_name() फंक्शन zip आर्काइव फाइल का नाम लौटाता है। उदाहरण निम्न एक उदाहरण है। मान लीज

  1. - C# में नेस्टेड नेमस्पेस (Nested Namespaces)

    परिचय नेमस्पेस के अंदर नेमस्पेस घोषित करना नेस्टेड नेमस्पेस कहलाता है। कोड को तार्किक रूप से व्यवस्थित करने के लिए उपयोगी। सिंटैक्स Console.WriteLine(Inner Namespace); } } } उपयोग using System; namespace Outer { class Program { static void Main(string[] args)