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

PHP नेमस्पेस एलियासिंग/इम्पोर्टिंग: use ऑपरेटर


परिचय

नेमस्पेस की एक महत्वपूर्ण विशेषता पूरी तरह से क्वालिफाइड बाहरी नाम को एलियास या इम्पोर्ट करके संदर्भित करने की क्षमता है। PHP नेमस्पेस निम्न प्रकार के एलियासिंग या इम्पोर्टिंग का समर्थन करते हैं:

  • क्लास नाम का एलियासिंग
  • इंटरफेस नाम का एलियासिंग
  • नेमस्पेस नाम का एलियासिंग
  • फंक्शन और कॉन्स्टेंट नामों का एलियासिंग या इम्पोर्टिंग

PHP में, एलियासिंग use ऑपरेटर के साथ पूरी की जाती है।

use ऑपरेटर

उदाहरण: फंक्शन एलियासिंग

# test1.php
<?php
namespace mynamespace;
function sayhello() {
    echo "Hello from mynamespace\n";
}
sayhello();

namespace mynewspace;
function sayhello() {
    echo "Hello from my new space\n";
}
sayhello();

use \mynewspace\sayhello as hello;
?>

आउटपुट

Hello from mynamespace
Hello from my new space

मल्टीपल use स्टेटमेंट्स संयुक्त

उदाहरण

<?php
namespace mynamespace;
class myclass {
    function test() { echo "myclass in mynamespace\n"; }
}
class testclass {
    static function test() { echo "testclass in mynamespace\n"; }
}

use \mynamespace\myclass as myclass, \mynamespace\testclass;
$a = new myclass();
$a->test();
$b = new \mynamespace\testclass();
$b->test();
?>

आउटपुट

myclass in mynamespace
testclass in mynamespace

इम्पोर्टिंग और डायनामिक नाम

इम्पोर्टेड क्लास के नाम को डायनामिक रूप से प्रतिस्थापित करना:

<?php
namespace mynamespace;
class myclass {
    function test() { echo "myclass in mynamespace\n"; }
}
class testclass {
    static function test() { echo "testclass in mynamespace\n"; }
}

use \mynamespace\myclass as myclass;
$a = new myclass;
$b = 'myclass';
$c = new $b;
?>

महत्वपूर्ण प्रतिबंध

use कीवर्ड को आउटमोस्ट या ग्लोबल स्कोप में, या नेमस्पेस घोषणाओं के अंदर घोषित किया जाना चाहिए। इम्पोर्टिंग की प्रक्रिया कंपाइल टाइम पर होती है रनटाइम पर नहीं। इसलिए यह ब्लॉक-स्कोप्ड नहीं हो सकती। निम्न उपयोग अवैध होगा:

<?php
function myfunction() {
    use myspace\myclass;  // अवैध: फंक्शन के अंदर use नहीं कर सकते
}
?>

इंक्लूडेड फाइलें पैरेंट फाइल के इम्पोर्टिंग नियमों को इनहेरिट नहीं करतीं क्योंकि वे प्रति-फाइल आधार पर होती हैं।

उपयोग के प्रकार

प्रकारउदाहरणविवरण
क्लास एलियासuse Vendor\Package\ClassName as ShortNameक्लास के लिए छोटा नाम
इंटरफेस एलियासuse Vendor\Package\InterfaceNameइंटरफेस के लिए छोटा नाम
नेमस्पेस एलियासuse Vendor\Package\SubNamespace as NSनेमस्पेस के लिए छोटा नाम
फंक्शन इम्पोर्टuse function Vendor\Package\funcNamePHP 5.6+ में समर्थित
कॉन्स्टेंट इम्पोर्टuse const Vendor\Package\CONST_NAMEPHP 5.6+ में समर्थित
  1. - PHP log10() फ़ंक्शन - आधार-10 लघुगणक

    PHP का log10() फ़ंक्शन किसी संख्या का **आधार-10 लघुगणक (base-10 logarithm)** गणना करता है। इसे सामान्य या मानक लघुगणक भी कहते हैं। सिंटैक्स log10(float $arg): float पैरामीटर पैरामीटरविवरण $argवह संख्या जिसका आधार-10 लघुगणक चाहिए लौटाया गया मान $arg का आधार-10 लघुगणक (फ्लोट)। गणितीय संबंध l

  1. - PHP log() फ़ंक्शन - प्राकृतिक लघुगणक और मनमाना आधार

    PHP का log() फ़ंक्शन **प्राकृतिक लघुगणक (natural logarithm, आधार e)** या **निर्दिष्ट आधार** में लघुगणक गणना करता है। डिफ़ॉल्ट आधार यूलर संख्या M_E (≈2.718) है। सिंटैक्स log(float $arg, float $base = M_E): float पैरामीटर्स पैरामीटरविवरण $argवह मान जिसका लघुगणक चाहिए $baseआधार (डिफ़ॉल्ट M_E = प्

  1. - PHP lcg_value() फ़ंक्शन - रैखिक सर्वांगसम जनरेटर (0 से 1)

    PHP का lcg_value() फ़ंक्शन **0 और 1 के बीच स्यूडो-रैंडम फ्लोट** जनरेट करता है। LCG = **रैखिक सर्वांगसम जनरेटर (Linear Congruential Generator)** — सबसे पुराने स्यूडो-रैंडम एल्गोरिदम में से एक। सिंटैक्स lcg_value(): float पैरामीटर्स कोई पैरामीटर नहीं। लौटाया गया मान 0.0 और 1.0 (सम्मिलित) के बीच स्य