核心之外扩展和使用第三方类库 若该类库不是通过Composer安装
放应用根目录下extend目录 官方建议的第三方扩展类库目录
如
<?php
//extend/share/Jssdk.php //thinkphp6 测试通过
namespace share;
class Jssdk {
private $appId;
private $appSecret;
public function __construct($appId="100", $appSecret="200") {
$this->appId = $appId;
$this->appSecret = $appSecret;
}
public function index(){
echo "this is a test";
}
}
<?php
//app/index/controller/Extend.php
namespace app\index\controller;
class Extend extends Base {
public function index() {
$b = new \share\Jssdk();
echo $b->index(); // 输出 this is a test
}
}类的命名规范遵循PSR-2及PSR-4规范 扩展类库的命名空间 如 first.second.Foo 类定义
namespace first/second;
class Foo {
}第三方类库不要和系统的命名空间产生冲突 如核心
thinkapp及Composer类库自身定义的命名空间
文件位置
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/');扩展类库用命名空间定义
如类库没有使用命名空间 则不支持自动加载
必须使用Loader::import方法先导入文件后才能使用
Loader::import('first.second.Foo');
$foo = new Foo(); 
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题