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

PHP中的use關鍵字概述

很多開源系統如osCommerce框架中,都會在其源碼中找到use這個關鍵字,如osCommerce框架中就在index.php文件中出現了這段源碼:

use osCommerce/OM/Core/Autoloader;use osCommerce/OM/Core/OSCOM;

其實,php的use關鍵字是自php5.3以上版本引入的。它的作用是給一個外部引用起別名。這是命名空間的一個重要特性,它同基于unix的文件系統的為文件或目錄創建連接標志相類似。

php命名空間支持三種別名方式(或者說引用):

1、為一個類取別名

2、為一個接口取別名

3、為一個命名空間取別名

這三種方式都是用 use 關鍵字來完成。下面是三種別名的分別舉例:
//Example #1 importing/aliasing with the use operator

<?phpnamespacefoo;useMy/Full/ClassnameasAnother;//thisisthesameasuseMy/Full/NSnameasNSnameuseMy/Full/NSname;//importingaglobalclassuseArrayObject;$obj=newnamespace/Another;//instantiatesobjectofclassfoo/Another$obj=newAnother;//instantiatesobjectofclassMy/Full/ClassnameNSname/subns/func();//callsfunctionMy/Full/NSname/subns/func$a=newArrayObject(array(1));//instantiatesobjectofclassArrayObject//withoutthe"useArrayObject"wewouldinstantiateanobjectofclassfoo/ArrayObject?>

注意的一點是,對于已命名的名字,全稱就包含了分隔符,比如 Foo/Bar,而不能用FooBar,而“/Foo/Bar”這個頭部的"/"是沒必要的,也不建議這樣寫。引入名必須是全稱,并且跟當前命名空間沒有程序上的關聯

php也可以在同一行上申明多個,等同于上面的寫法

<?phpuseMy/Full/ClassnameasAnother,My/Full/NSname;$obj=newAnother;//instantiatesobjectofclassMy/Full/ClassnameNSname/subns/func();//callsfunctionMy/Full/NSname/subns/func?>

還有值得一說的是,引入是在編譯時執行的,因此,別名不會影響動態類,例如:

<?phpuseMy/Full/ClassnameasAnother,My/Full/NSname;$obj=newAnother;//instantiatesobjectofclassMy/Full/Classname$a = 'Another';$obj = New $a; // instantiates object of class Another?>

這里由于給變量$a 賦值了 'Another',編譯的時候,就將$a 定位到 Classname 了。

更詳細的用法讀者可以查閱php手冊或關注本站后續相關文章。

php技術PHP中的use關鍵字概述,轉載需保留來源!

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

主站蜘蛛池模板: 砚山县| 且末县| 方正县| 新平| 松滋市| 肥城市| 扶风县| 天台县| 南平市| 扎兰屯市| 登封市| 孟州市| 扬州市| 甘谷县| 武威市| 南部县| 门头沟区| 黄龙县| 清水河县| 大冶市| 马尔康县| 苏尼特左旗| 泸水县| 邢台市| 吉首市| 奉贤区| 吉木萨尔县| 新乡市| 开平市| 淮安市| 赤城县| 桑日县| 正定县| 秦安县| 馆陶县| 五常市| 邵武市| 鹰潭市| 宜章县| 加查县| 嫩江县|