1.在入口文件中添加
define('EXTEND_PATH', __DIR__ .'/extend/');
其實tp5給了我們一種方式去實現不用命名空間來加載第三方的類!
我們將類文件放到extend目錄下,在控制器中要用到類的話可以通過import(),函數手動引入類文件,引入方法官方手冊中有說明(架構->自動加載->類庫導入)。
// 引入 extend/qrcode.php
Loader::import('qrcode', EXTEND_PATH);
// 助手函數
import('qrcode', EXTEND_PATH);
// 引入 extend/wechat-sdk/wechat.class.php
Loader::import('wechat-sdk.wechat', EXTEND_PATH,'.class.php');
// 助手函數
import('wechat-sdk.wechat', EXTEND_PATH,'.class.php');
手動引入了類文件後,進行實例化需要特別注意了!
我們需要在 new 類文件()時,在類文件前面加一個 “ \ ” ,即如下:
$obj = new \Test();
加 ‘\’ 的原因是,tp5的命名空間自動加載規則:自動加載的實現由think\Loader類庫完
成,自動加載規範符合PHP的PSR-4,根據對規則的瞭解,放在extend目錄下沒有定義
命名空間的類文件,就是全局化的類。實例化全局化的類的話,即用"\"放在類名前表
示此類是全局類,就new一個全局化的類!