Composer实现项目的自动加载(Composer管理依赖包)

Composer实现项目的自动加载(Composer管理依赖包)

Composer管理依赖包,实现自动加载

composer通过require、remove命令对项目进行依赖包的添加与删除。

composer通过对项目根目录下的composer.json文件的配置,可以实现PSR-4自动加载的规范。

composer.json架构详解,此处有详细介绍如何配置该文件。

通过对TP5.1的源码进行学习,TP5的自动加载主要是根据composer install命令执行后composer在vendor目录下生产的ClassLoader类进行重写。Composer自动加载机制,是建立命名空间与文件相对于项目根目录路径的映射关系,再通过spl_autoload_register方法注册系统的自动加载,在自动加载 逻辑当中,最核心的是怎么样根据上面生成的路径,查找到相应的文件,并include(包含)进来。

composer自动加载详细流程:

● 配置根目录下的composer.json文件中的autoload的自动加载映射规则。

● 调用composer install/update 命令,生成vendor/composer文件夹以及相关的文件。其中命名空间与文件路径的映射保存在autoload_psr4.php文件中。同时生成ClassLoader.php文件,该文件是自动加载的工具类,通过解析命名空间,查找到相关文件,以便include进来。

● 在入口文件处include vendor文件夹下面的autoload.php文件。若要想更改自动加载相关的官方,自定义一些操作,可以根据composer生成的ClassLoader文件自行编写一个加载器工具类,前提是理解composer的自动加载原理,以及PSR4自动加载规范。具体的可以参考tp5里面的Loader类的实现。

更多composer相关技术文章,请访问composer栏目:tool/composer/

以上就是Composer实现项目的自动加载(Composer管理依赖包)的详细内容,更多请关注其它相关文章!