上一篇文章中我們了解了使用命名空間的方法,有需要的請看《小編帶你使用命名空間(php版)》。這次我們向大家介紹如何存取命名空間內部元素,有需要的可以參考參考。
我們介紹了這麼久的命名空間,但是卻不知道如何訪問命名空間內部元素這是不是有點說不過去了,事不宜遲,讓我們現在就開始學習訪問命名空間內部元素的方法吧。
在php命名空間中,有兩種方式可以存取目前命名空間內部元素,這兩種方式就是namespace關鍵字和__NAMESPACE__常數。
我們先來看看__NAMESPACE__常數,先建立一個小栗子,方便我們去觀察、去理解。
<?php namespace MyProject; echo '"', __NAMESPACE__, '"'; // 输出 "MyProject" ?>
我們來看看這個小栗子,當我們使用「__NAMESPACE__
」這個常數時,它輸出了我們目前命名空間的名稱,是不是很神奇,有沒有感覺這個常量十分有趣。那還等什麼,下面我們就來具體介紹一下這個常數__NAMESPACE__。
常數__NAMESPACE__的值是包含目前名稱空間名稱的字串。在全域範圍內,未包含在任何名稱空間中的程式碼包含空字串和常數__NAMESPACE__,同時,這個常數在動態建立名稱時十分有用。
在學習完__NAMESPACE__常數之後,我們再來看看namespace關鍵字。
與__NAMESPACE__常數一樣,我們先來建立一個小範例。
<?php namespace MyProject; use blah\blah as mine; // 引入了 blah\blah 命名空间,并定义了个别名mine mine\mine(); // 调用函数 blah\blah\mine() namespace\blah\mine(); // 调用函数 MyProject\blah\mine() namespace\func(); // 调用函数 MyProject\func() namespace\sub\func(); // 调用函数 MyProject\sub\func() namespace\cname::method(); // 调用 MyProject\cname 类的静态方法 $a = new namespace\sub\cname(); // 实例化 MyProject\sub\cname 类的对象 $b = namespace\CONSTANT; // 将常量 MyProject\CONSTANT 的值赋给 $b ?>
我們來看看這個小栗子,發現這段程式碼中最多的居然是“namespace
”,不經讓我大吃一驚,是“namespace”有其他的功能嗎?居然讓我猜對了。
使用namespace 可用於明確存取目前命名空間或子命名空間中的元素。它相當於類別中的self運算符。
就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學
#以上是小編帶你了解如何存取命名空間內部元素(php版)的詳細內容。更多資訊請關注PHP中文網其他相關文章!