🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
如果你需要在核心之外扩展和使用第三方类库,并且该类库不是通过`Composer`安装使用,那么可以直接放入应用根目录下面的`extend`目录下面,该目录是官方建议的第三方扩展类库目录。 类的命名规范遵循`PSR-2`及`PSR-4`规范,例如,如果有一个扩展类库的命名空间是`first.second.Foo`,类定义如下: ~~~ namespace first\second; class Foo { } ~~~ >[danger] 使用第三方类库的时候注意不要和系统的命名空间产生冲突,例如核心的`think`、`app`以及`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/'); ~~~ `ThinkPHP5`建议所有的扩展类库都使用命名空间定义,如果你的类库没有使用命名空间,则不支持自动加载,必须使用`Loader::import`方法先导入文件后才能使用。 ~~~ Loader::import('first.second.Foo'); $foo = new \Foo(); ~~~ >[danger] ### 强烈建议使用`Composer`安装和更新扩展类库,`ThinkPHP5.0`的扩展类库都采用`Composer`方式进行安装。