tp5 命名空間

2021-09-02 20:58:30 字數 1378 閱讀 1498

命名空間

thinkphp5採用命名空間方式定義和自動載入類庫檔案,有效的解決了多模組和composer類庫之間的命名空間衝突問題,並且實現了更加高效的類庫自動載入機制。

特別注意的是,如果你需要呼叫php內建的類庫,或者第三方沒有使用命名空間的類庫,記得在例項化類庫的時候加上 \,例如:

// 錯誤的用法

$class = new stdclass();

$xml = new ******xmlelement($xmlstr);

// 正確的用法

$class = new \stdclass();

$xml = new \******xmlelement($xmlstr);

在thinkphp5.0中,只需要給類庫正確定義所在的命名空間,並且命名空間的路徑與類庫檔案的目錄一致,那麼就可以實現類的自動載入,從而實現真正的惰性載入。

例如,\think\cache\driver\file類的定義為:

namespace think\cache\driver;

class file

如果我們例項化該類的話,應該是:

$class = new \think\cache\driver\file();

系統會自動載入該類對應路徑的類檔案,其所在的路徑是 thinkphp/library/think/cache/driver/file.php。

5.0預設的目錄規範是小寫,類檔案命名是駝峰法,並且首字母大寫。

原則上,可以支援駝峰法命名的目錄,只要命名空間定義和目錄一致即可,例如:

我們例項化

$class = new \think\cache\driver\file();

系統則會自動載入 thinkphp/library/think/cache/driver/file.php檔案。

自動註冊

我們只需要把自己的類庫包目錄放入extend_path目錄(預設為extend,可配置),就可以自動註冊對應的命名空間,例如:

我們在extend目錄下面新增乙個my目錄,然後定義乙個\my\test類( 類檔案位於extend/my/test.php)如下:

namespace my;

class test

}

我們就可以直接例項化和呼叫:

$test = new \my\test();

$test->sayhello();

TP5命名空間理解與用法

一 什麼是命名空間?我理解是它是封裝的類庫或者方法,我們引入繼承它從而可以呼叫它其中的類,方法,變數.php文件解釋 什麼是命名空間?從廣義上來說,命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。二 tp5中如何使用 use think model class user extend...

TP 空間命名

命名空間 thinkphp5 採用命名空間方式定義和自動載入類庫檔案,有效的解決了多模組和 composer 類庫之間的命名空間衝突問題,並且實現了更加高效的類庫自動載入機制。特別注意的是,如果你需要呼叫php內建的類庫,或者第三方沒有使用命名空間的類庫,在這裡插入 片 特別注意的是,如果你需要呼叫...

TP5常量參考

ext 類庫檔案字尾 php think version 框架版本號ds 當前系統的目錄分隔符 think path 框架系統目錄 root path 框架應用根目錄 lib path 系統類庫目錄 預設為 think path.library core path 系統核心類庫目錄 預設為 lib ...