自动加载的实现由think\Loader类库完成,自动加载规范符合PHP的PSR-4

    由于新版完全采用了命名空间的特性,因此只需要给类库正确定义所在的命名空间,而命名空间的路径与类库文件的目录一致,那么就可以实现类的自动加载。

    类库的自动加载检测顺序如下:

    系统会按顺序检测,一旦检测生效的话,就会自动载入对应的类库文件。

    遵循我们上面的命名空间定义规范的话,基本上可以完成类库的自动加载了,但是如果定义了较多的命名空间的话,效率会有所下降,所以,我们可以给常用的类库定义类库映射。命名类库映射相当于给类文件定义了一个别名,效率会比命名空间定位更高效,例如:

    也可以利用addClassMap方法批量导入类库映射定义,例如:

    示例

    类库导入也采用类似命名空间的概念(但不需要实际的命名空间支持),支持的“根命名空间”包括:

    如果完全遵从系统的命名空间定义的话,一般来说无需手动加载类库文件,直接实例化即可。

    5.0版本支持安装的类库的自动加载,你可以直接按照Composer依赖库中的命名空间直接调用。