PHP命名空間定義與用法實(shí)例分析
本文實(shí)例講述了PHP命名空間定義與用法。分享給大家供大家參考,具體如下:
php的命名空間的樣式跟linux的路徑很相似。
我們使用文件的路徑作為命名空間。
定義命名空間
MVC\Model\index.php
代碼
<?php namespace MVC\Model; class Index { public static function test() { echo "test#Model"; } }
使用命名空間
MVC\Application\index.php
代碼
<?php namespace MVC\Application; use \MVC\Model; require_once "../Model/index.php"; class Index { public static function test() { echo "test#Application"; } } //Index::test(); //輸出test#Application Model\Index::test();//輸出test#Model
其中use \MVC\Model;
等價(jià)于use \MVC\Model as Model;
。
所以我們才可以用Model\Index::test();
這種方式調(diào)用Model下面的index類。
我們?cè)诼暶魇褂妹臻g的,聲明的路徑越具體,我們使用起來就越方便。
貼上幾段代碼,感受下~
1) use \MVC
use \MVC; require_once "../Model/index.php"; MVC\Model\Index::test();//輸出test#Model
2)use \MVC\Model
use \MVC\Model; require_once "../Model/index.php"; Model\Index::test();//輸出test#Model
3) use \MVC\Model\Index
use \MVC\Model\Index; require_once "../Model/index.php"; Index::test();//輸出test#Model
通過上面代碼的分析,我們可以看到。當(dāng)使用命名空間時(shí)的聲明具體到類時(shí),我們使用Index::test()
這種方式就可以調(diào)用相關(guān)類,是不是不樓痕跡,但是我們要注意這種時(shí)候要避免類名的重復(fù),否則會(huì)報(bào)錯(cuò)。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php運(yùn)行出現(xiàn)Call to undefined function curl_init()的解決方法
curl_init -- 初始化一個(gè)CURL會(huì)話,如果提示Call to undefined function curl_init那么需要如下操作即可。2010-11-11PHP操作MongoDB實(shí)現(xiàn)增刪改查功能【附php7操作MongoDB方法】
這篇文章主要介紹了PHP操作MongoDB實(shí)現(xiàn)增刪改查功能,結(jié)合實(shí)例形式總結(jié)分析了php操作MongoDB的常用技巧,并附帶php7操作MongoDB方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2018-04-04讓Json更懂中文(JSON_UNESCAPED_UNICODE)
我們知道, 用PHP的json_encode來處理中文的時(shí)候, 中文都會(huì)被編碼, 變成不可讀的, 類似”\u***”的格式, 還會(huì)在一定程度上增加傳輸?shù)臄?shù)據(jù)量.2011-10-10PHP簡單實(shí)現(xiàn)循環(huán)鏈表功能示例
這篇文章主要介紹了PHP簡單實(shí)現(xiàn)循環(huán)鏈表功能,簡單描述了循環(huán)鏈表的概念、功能并結(jié)合實(shí)例形式分析了php定義及使用循環(huán)鏈表的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11