多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 源码文件 >`\framework\library\think\Loader.php` ## 核心功能 1. 自动加载的注册 > 注册全局的文件自动加载回调 2. 自动加载目录与文件的注册 > 注册自动加载的目录与文件到Loader的成员变量中 > 在加载特定类文件时查找使用 3. 自动加载的使用 > 查找特定类时根据Loader的成员变量查找 ## 重要方法 ### **1 注册全局加载机制** #### **Loader::register($autoload=null)** 注册自动加载 >1 参数$autoload 注册自动加载的回调函数,默认使用think\Loader::autoload() >2 注册composer自动机制 需要注意composer在PHP5.6版本后autoload_static.php的自动加载机制 >3 注册 框架的三个根命名空间 think behavoir traits分别指向thinkphp\lib下的对应目录 >4 加载RUNTIME_PATH目录下的类库映射文件classmap.php >5 加载composer的自动加载文件 >6 注册EXTEND_PATH目录到自动加载中 #### Loader::registerComposerLoader() 注册composer自动加载 ### **2 注册目录与文件** #### Loader::addClassMap($class, $map = '') #### **Loader::addNamespace($namespace, $path = '')** 注册命令空间与目录的对应关系 > 在Loader::register()中调用此方法注册了框架的三个命令空间 > 在开发中也可以使用此方法注册其他的命名空间的目录入口 ``` --app\index\init.php use think\Loader; Loader::register("test",ROOT_PATH.DS."test"); ``` 在index模块中可以使用test\app来加载根目录的test目录下的app类 ### **文件查找加载** ## 重要属性