當開發大型專案的時候,可能需要成千上萬的檔案,物件導向通過命名空間解決這個問題的。php命名空間是php5.3以後出現的。
命名空間中可以出現:類,函式,常
只有const定義的常量命名空間才有效。命名空間的名字必須符合php命名的規則。
<?php
namespace china;
const nation = '中國
';function getinfo()
namespace usa;
const nation = 'usa
';function getinfo()
echo '';
getinfo(); //非限定名稱訪問
\china\getinfo(); //完全限定名稱訪問
輸出結果:
i am a american
我是中國人
<?php
namespace china\beijing\haidian;
class person
namespace usa\washington;
class person
echo '';
echo person::$name;
echo \china\beijing\haidian\person::$name;
執行結果:
abraham lincoln李白
<?php
namespace china\beijing\haidian;
function getinfo()
namespace china\beijing;
function getinfo()
echo '';
getinfo(); //非限定名稱
haidian\getinfo();
1、非限定名稱訪問
echo getinfo()
類似於:require (『getinfo.php』);
2、限定名稱訪問,是相對限定
china\getinfo();
類似於:require(『china/getinfo.php』);
3、完全限定訪問
\china\getinfo()
類似於:require(『c:\china\getinfo.php』);
1、最頂層的\表示的是公共空間
2、namespace 必須在最上面
3、命名是虛擬的空間,不是真實存在的目錄,當時thinkphp的命名空間是真實的位址路徑
4、當前檔案中具有命名空間的檔案,不會改變當前檔案的命名空間
TP 空間命名
命名空間 thinkphp5 採用命名空間方式定義和自動載入類庫檔案,有效的解決了多模組和 composer 類庫之間的命名空間衝突問題,並且實現了更加高效的類庫自動載入機制。特別注意的是,如果你需要呼叫php內建的類庫,或者第三方沒有使用命名空間的類庫,在這裡插入 片 特別注意的是,如果你需要呼叫...
TP框架中命名空間
3.2版本全面採用命名空間方式定義和載入類庫檔案,有效的解決多個模組之間的衝突問題,並且實現了更加高效的類庫自動載入機制。命名空間的概念必須了解,否則會成為3.2版本開發的重大障礙。如果不清楚什麼是命名空間,可以參考php手冊 php命名空間 由於新版完全採用了命名空間的特性,因此只需要給類庫正確定...
tp5 命名空間
命名空間 thinkphp5採用命名空間方式定義和自動載入類庫檔案,有效的解決了多模組和composer類庫之間的命名空間衝突問題,並且實現了更加高效的類庫自動載入機制。特別注意的是,如果你需要呼叫php內建的類庫,或者第三方沒有使用命名空間的類庫,記得在例項化類庫的時候加上 例如 錯誤的用法 cl...