Composer 是用来管理依赖的。
长久以来,PHP的开源方式都是项目级的,就是说我一开源就是一个项目,比如一整套的CMS,一个框架,如Codeigniter。为啥呢?其中一个很重要的原因是你不好拆开来,如果拆开来的话,没有一个有效的管理工具组合起来,导致拆开的小模块大家无人问津。
然后Composer就出现了,它负责去管理大家开源的各个小模块,有效的整合到一起,使之成为一个完整的项目。
比如说题主您提到的 Laravel 实际上就是由好多的小模块组成的,比如说实现路由模块是由symfony/routing完成的;比如说记日志是由 monolog/monolog 实现的。
当你用 composer 安装 laravel 的时候,composer 会自动检测所需依赖并下载,表现出来就是执行完命令后满屏滚动安装各种模块。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…