开始之前最好自己去写一个简单的自动加载器,去了解一下是怎么样把文件引入进来的
- 加载
Composer\Autoload\ClassLoader
类,这个是自动加载核心类 - 将顶级命名空间和文件目录映射加载到
ClassLoader
类中 - 注册自动加载器
Composer\Autoload\ClassLoader
类中loadClass
方法 - 当触发命名空间自动加载器时,自动获取路径文件并引入
关键在于将顶级命名空间和目录映射存储到类中,当触发自动加载器时,自动加载器会逐个去变量中匹配顶级命名空间或者完整命名空间,成功匹配后获取文件所在的目录,然后按照一定的规则去解析命名空间,将命名空间转为文件路径,最后引入该文件。
建议查看文章: