thinkphp命名空間用法實例詳解
Jul 29, 2016 am 09:08 AM本文實例講述了thinkphp命名空間用法。分享給大家供大家參考,具體如下:
新版本(3.2)中採用命名空間的方式定義和加載類庫文件,解決多個模組之間的衝突問題,並實現了更加高效的自動加載機制。
需要給類別庫定義所在的命名空間,命名空間的路徑和類別庫檔案的目錄一致,就可以實現類別的自動加載,例如OrgUtilFile類別的定義為
namespace Org\Util; class File { }
其所在的路徑是ThinkPHP/ Library/Org/Util/File.class.php,我們實例化該類別寫法如下:
複製代碼 程式碼如下:
$class = new OrgUtilFile();
$class = new OrgUtilFile();系統會自動載入上述文件,這樣就不需要在實例化命名空間定義的類別之前導入類別庫檔案了。 根命名空間是一個很關鍵的概念,以上面的OrgUtilFile類別為例,Org就是一個根命名空間,其對應的初始命名空間目錄就是系統的類別庫目錄ThinkPHP/Liberary,該目錄下一級子目錄會自動辨識為根命名空間,這些命名空間無需註冊就可使用。 我們在Library目錄下面新增一個My根命名空間目錄,然後定義一個Test類別如下:
namespace My; class Test { public function sayHello() { echo 'hello'; } }
$Test = new \My\Test(); $Test->sayHello();
namespace Home\Model; class UserModel extends \Think\Model { }
檔案位於Application/Admin/Event/UserEvent.class.php
3.2.1版本以上允許設定對應用程式類別庫不使用命名空間,在設定檔中設定如下:
複製程式碼 程式碼如下:
複製程式碼程式碼如下
'APP_USE_NAMESPACE' => false,
這樣應用類別庫中不再需要使用命名空間的定義,但是繼承和調用核心類庫的時候還是需要使用命名空間,例如,下面的應用類庫中將不再寫namespace AdminModel;
namespace Admin\Event; class UserEvent { }
特別注意:如果你需要在3.2版本中實例化PHP內建的類別庫或第三方的沒有使用命名空間定義的類,需要採用下面的方式:
class UserModel extends \Think\Model { }
希望本文所述對大家基於thinkPHP框架的PHP程式設計有所幫助。
🎜 以上就介紹了thinkphp命名空間用法實例詳解,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜
熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

三星 Galaxy Z Fold 特別版透露將於 10 月底登陸,但名稱出現衝突

第一眼:即將推出的 Anker Zolo 4 連接埠 140W 帶顯示壁式充電器的拆箱視訊洩露

Manjaro 24.1「Xahea」與 KDE Plasma 6.1.5、VirtualBox 7.1 等一起發布
