thinkphp5 导入第三方类库和导入扩展类库细节
在用到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的目录的。