mingyunyuziyou

TP5 中引入第三方类库extend

作者: 秒速五厘米     
 



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一个全局化的类