tp5导入vendor_ThinkPHP5——引用vendor或extend里的第三方类(多种方法)

引入extend第三方类

方法一:命名空间引入

我们只需要把自己的类库包目录放入EXTEND_PATH目录(默认为extend,可配置),就可以自动注册对应的命名空间。

我们在extend目录下面新增一个lib目录,然后定义一个\lib\Mycla类( 类文件位于extend/lib/Mycla.php)如下:

namespace lib;class Mycla

{    public function index(){        echo "这是Mycla";

}

}

我们就可以直接实例化和调用:

$myc = new \lib\Mycla();$myc->index();

也可以使用use:

use lib\Mycla;$myc = new Mycla();$myc->index();

还有一点要注意,命名空间的命名必须要根据目录结构:

如果你的命名空间不是按照这个规则命名,你调用这个类就会报找不到

方法二:类库导入

如果你不需要系统的自动加载功能,又或者没有使用命名空间的话,那么也可以使用think\Loader类的import方法手动加载类库文件,例如:

// 引入 extend/qrcode.php;

Loader::import('qrcode', EXTEND_PATH);        // 助手函数

import('qrcode', EXTEND_PATH);        $qrc = new \qrcode();        $qrc->index();        // 引入 extend/tes/Ind.php;第三参数是后缀名,不加也可以

Loader::import('tes.Ind', EXTEND_PATH,'.php');        // 助手函数;第三个参数后缀名,不加也可以

import('tes.Ind', EXTEND_PATH);        $ind = new \Ind();        $ind->index();

引入vendor第三方类

vendor的不能使用命名空间引入,只能使用函数助手或Loader::import

// 引入 vendor/tes/Ind.phpLoader::import('tes.Ind', VENDOR_PATH,'.php');// 助手函数import('tes.Ind', VENDOR_PATH,'.php');//助手函数,快速导入第三方框架类库vendor('tes.Ind');$ind = new \Ind();$ind->index();

使用include_once或include引入

如果命名空间和函数助手都不想使用,也可以直接使用include_once或include这两个php原生方法:

include_once '../extend/tes/Ind.php';$ind = new \Ind();$ind->index();

同样,如果想引入vendor下的文件,只需要改一下名称就可以了

还有一点要注意,上面的代码我是在控制器里写的,刚开始导入我是沿着文件夹一个一个返回,结果报这个类找不到:

include_once '../../../extend/tes/Ind.php';

这里是错误例子鹅。include_once或include使用方法都一样,我就不做演示了

引入extend或vendor里面的数组

有些情况我们定义了数组放在extend或vendor下文件夹里(一般都放在extend),这样就可以公共使用数组

extend/tes/conf.php;如果不写return,也可以直接调用$student,更好预先定义不然报红(不定也不会报错)

<?phpreturn  $student = [    "Id"    =>  1,

"name"  =>  "LHS",

"age"   =>  "21"];

在index控制器引入,这样就可以使用数组:

=  '../extend/tes/conf.php'();

同样,如果想引入vendor下的文件下的数组,只需要改一下名称就可以了;还有引入数组建议使用这种方法,Loader::import和import都不能引入数组

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值