इस लेख में, हम PHP में नेमस्पेस के बारे में जानने जा रहे हैं। PHP में जब हम बड़े एप्लिकेशन बना रहे होते हैं या थर्ड-पार्टी एप्लिकेशन/लाइब्रेरी को इंटीग्रेट कर रहे होते हैं तो क्लास नामों, फंक्शन नामों के बीच टकराव की संभावना हो सकती है। इसलिए इन समस्याओं से बचने के लिए PHP "नेमस्पेस" संबंधित क्लासेज, इंटरफेसेस, फंक्शन्स और कॉन्स्टेंट्स को ग्रुप करने का एक तरीका प्रदान करता है।
आइए नीचे नेमस्पेस घोषित करने का सिंटैक्स देखें।
सिंटैक्स
<?php
namespace MyfirstNamspace {
function welcome() {
echo 'welcome To Namespace';
}
}
?>
PHP की दुनिया में, नेमस्पेस लाइब्रेरी और एप्लिकेशन के निर्माताओं द्वारा अनुभव की जाने वाली दो समस्याओं का ख्याल रखने के लिए अभिप्रेत हैं जब वे पुन: प्रयोज्य कोड घटक बनाते हैं, वे हैं:
- 1. आपके द्वारा बनाए गए कोड और आंतरिक PHP क्लास/फंक्शन/कॉन्स्टेंट या थर्ड-पार्टी क्लास/फंक्शन/कॉन्स्टेंट के बीच नाम टकराव।
- 2. स्रोत कोड की पठनीयता में सुधार के लिए अतिरिक्त_लंबे_नामों को संक्षिप्त करने की क्षमता।
नोट:
एक नेमस्पेस एप्लिकेशन में फ़ाइल के पते को दर्शाने के लिए डिज़ाइन किया गया है, कभी-कभी हमें पते को छोटा करने की आवश्यकता हो सकती है, उस स्थिति में, हम उस पते के लिए एलियास के लिए "USE" कीवर्ड का उपयोग कर सकते हैं। आइए एक उदाहरण के माध्यम से समझें।
<?php
namespace SMTP;
class Mail{}
namespace Mailgun;
class Mail{}
use SMTP\Mail as SMTPMail;
use Mailgun\Mail as MailgunMail;
$smtp_mailer = new SMTPMailer;
$mailgun_mailer = new MailgunMailer;
?>
व्याख्या:
यहां हमें दो अलग-अलग नेमस्पेस के साथ समान नाम Mail के दो क्लास मिले। और यदि हम एक ही समय में दोनों Mail क्लासेज का उपयोग करना चाहते हैं तो हम एलियास का उपयोग कर सकते हैं। बाद में आपके कोड में, यदि हम उन क्लास ऑब्जेक्ट्स तक पहुंचना चाहते हैं तो हम उन्हें इम्प्लीमेंट भी कर सकते हैं।