一.動態訪問命名空間的元素namespace me/poet;function test(){ echo '1111'; " /> 国产盗摄精品一区二区酒店,久久香蕉av,国产原创一区二区

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP命名空間(namespace)的動態訪問及使用技巧

php的命名空間(namespace)是php 5.3中加入最重要的一個新特性,這個概念在C#中已經很早就有了,php中的namespace其實和c#的概念是一樣的。

一.動態訪問命名空間的元素

namespace me/poet;function test(){  echo '1111';}$fun = 'test';//不能這么用,最后$fun()無法動態調用到test():Fatal error: Call to undefined function test()$fun = '/me/poet/test';//正確//$fun = 'me/poet/test';//正確$fun();

也就是說,動態調用必須是 限定名稱 或 完全限定名稱(概念參考:php命名空間的使用基礎)


二.魔術常量 和 操作符

namespace me/poet;function test(){  echo '1';}echo __NAMESPACE__; //魔術常量:命名空間的名稱(輸出 me/poet)//namespace操作符:顯式訪問當前命名空間或子命名空間中的元素,等價于類中的self操作符/me/poet/test();namespace/test();//上兩行代碼等價。


三.別名、導入 和 全局空間(含多個例子)

namespace ws/weichen/www;use ws/weichen/www as poet;//定義別名poet//use ws/weichen/www; //不加as,則取最后的作為別名(www)function demo(){  echo '1';}/ws/weichen/www/demo();poet/demo();//www/demo();    //不加as的情況,則這樣調用

以上三行代碼效果一樣。
按規則(ws/weichen/www)命名的好處:若更換域名,只要把前綴名稱改了就可以,不影響后面代碼中別名www的使用。

/* 導入 */include 'hello.class.php';use /ws/weichen/www;use /Hello;/*--------------------------------------------------------*//* 支持多個use語句 */use /nihao/shijie as hello, /ws/weichen/www;/*--------------------------------------------------------*//* 全局空間:反斜線調用 */namespace A/B/C;//這個函數是 A/B/C/fopen();function fopen(){  $f = /fopen('demo.txt');//調用全局fopen函數  return $f;}

php技術PHP命名空間(namespace)的動態訪問及使用技巧,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 界首市| 都匀市| 富宁县| 孟连| 黄山市| 民乐县| 徐州市| 宣恩县| 六安市| 汶上县| 英吉沙县| 克拉玛依市| 中山市| 东乡| 太湖县| 永州市| 丰都县| 永吉县| 全椒县| 阳山县| 黄石市| 永川市| 玉溪市| 白水县| 通山县| 昌乐县| 合肥市| 靖江市| 盐边县| 璧山县| 南陵县| 曲周县| 无棣县| 德庆县| 崇明县| 汤阴县| 宁陵县| 美姑县| 江华| 通化县| 临城县|