如果你需要在核心之外扩展和使用第三方类库,并且该类库不是通过Composer安装使用,那么可以直接放入应用根目录下面的extend目录下面,该目录是官方建议的第三方扩展类库目录。

    类的命名规范遵循PSR-2PSR-4规范,例如,如果有一个扩展类库的命名空间是 first.second.Foo,类定义如下:

    1. namespace first\second;
    2. class Foo
    3. {
    4. }
    使用第三方类库的时候注意不要和系统的命名空间产生冲突,例如核心的thinkapp以及Composer类库自身定义的命名空间。

    那么实际的类文件位置应该是:

    1. extend/first/second/Foo.php

    使用first.second.Foo类的时候,直接实例化即可使用,例如:

    1. $foo = new \first\second\Foo();

    或者先

    1. use first\second\Foo;

    然后

    1. $foo = new Foo();

    你可以在入口文件中随意修改extend目录的名称,例如:

    1. define('EXTEND_PATH', '../extension/');

    ThinkPHP5建议所有的扩展类库都使用命名空间定义,如果你的类库没有使用命名空间,则不支持自动加载,必须使用Loader::import方法先导入文件后才能使用。

    1. Loader::import('first.second.Foo');
    2. $foo = new \Foo();
    ### 强烈建议使用Composer安装和更新扩展类库,ThinkPHP5.0的扩展类库都采用Composer方式进行安装。