thinkphp5 导入第三方类库和导入扩展类库细节

hykeda8年前ThinkPHP1904
在用到tp5之后,很多东西都不太一样了。在此记录些小经验: 类库的导入,tp5有两种类库,分别为第三方类库和扩展类库 导入扩展类库,tp的手册中有示例代码: extend目录下面 那么实际的类文件位置应该是:
extend/first/second/Foo.php
使用first.second.Foo类的时候,直接实例化即可使用,例如:
$foo = new \first\second\Foo();
或者先
use first\second\Foo;
然后
$foo = new Foo();
你可以在入口文件中随意修改extend目录的名称,例如:
define('EXTEND_PATH', '../extension/');
ThinkPHP5建议所有的扩展类库都使用命名空间定义,如果你的类库没有使用命名空间,则不支持自动加载,必须使用Loader::import方法先导入文件后才能使用。
Loader::import('first.second.Foo');
$foo = new \Foo();

导入第三方类库重点讲下注意点:

vendor目录下面 同样的和tp的demo一样的目录结构和类 方法1(注意红色处必须加)
Loader::import('first.second.Foo',VENDOR_PATH,后缀名);
$foo = new \Foo();
方法2使用助手函数vendor
vendor('first.second.Foo')
$foo = new \Foo();
vendor('类库','后缀名') 类库类似:文件夹名.文件夹名.文件名。 后缀名如果是.php可以不用填写,如果不是可以填写类似:.class.php 其实两种方法效果是一样的,vendor方法其实也是执行了方法1的方法,就是用方法1的时候必须加路径,不然默认是到extend的目录的。

相关文章

thinkphp5 报错级别设置,屏蔽警告

本着严谨的原则,5.0版本默认情况下会对任何错误(包括警告错误)抛出异常,如果不希望如此严谨的抛出异常,可以在应用公共函数文件中(common.php)或者配置文件中使用error_report...

thinkphp5页面出现500服务器内部错误

    最近写项目发现页面显示正常,控制器单独输出调试都正常,数据返回了,但还是报错get请求报错500服务器内部错误。  &nbs...

Thinkphp6 中上传文件,验证文件大小及后缀名官方文档错误修改

Thinkphp6 中上传文件,验证文件大小及后缀名官方文档错误修改

官方文档示例:上传验证支持使用验证类对上传文件的验证,包括文件大小、文件类型和后缀:public function upload(){    // 获取表单上传文件 &nb...

关于thinkphp5.1中间件的使用

关于thinkphp5.1中间件的使用

在tp5.1开始,有了中间件的概念。 首先中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理。 生成中间件: php thin...

关于thinkphp6 where以数组形式查询,其中有or,and的处理

最近在写tp6的查询语句时,如果查询条件以数组形式传入,比如:$where[] = ['id','=',$id]; $where[] =...

在thinkphp6.1.1中composer安装 liliuwei/thinkphp-jump报错

报错内容:Problem 1     - Root composer.json requires liliu...

hykeda
2018-02-09 15:34:37

暂时5.1还没有试过,5.0是没有问题的。

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。