依赖管理(Dependency Management)是软件工程中的一个重要概念,旨在管理和控制软件组件或库之间的依赖关系,以确保程序能够正确运行
在现代软件开发中,应用程序通常利用许多开源组件和库,这些组件和库存放在中央仓库中,并且它们之间存在复杂的依赖关系
因此,一个成功的项目需要一个强大的依赖管理系统来管理这些依赖项,确保应用程序的正确性

Composer
Composer 是 PHP 的依赖管理工具,它为你解决下列问题:
- 你有一个项目依赖于若干个库
- 其中一些库依赖于其他库
- 你声明你所依赖的东西
- 找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)
要想使用 Composer,就必须要一个 composer.json 文件,该文件包含了项目的依赖和其它的一些元数据
文件详解
1 | { |
当项目有测试时,可以使用如下属性
1 | { |
像 Laravel 的数据填充并没有写命名空间,是直接在此定义的,还有帮助函数的文件等
1 | { |
可以自动添加包里的服务提供者
1 | { |
Packagist
Packagist 是包存储库,也是 Composer 的主要资源库
在 Submit 页填写你的项目地址,并在你的项目设置中开启 packagist 服务,让代码同步更新:

以上面例子项目发布成功后结果如下图所示

镜像
由于网络原因,下载包的速度很慢,可以替换为国内镜像提高速度:Packagist 镜像使用方法
2019-07 更新
《Laravel China 镜像完成历史使命,将于两个月后停用》
《Composer 国内加速:可用镜像列表 》
Satis 管理私有资源
- 由于公司的架构是内外网分离,开发在内部局域网,无法拉取到公网的 Packagist
- 顺便维护一些私有的包
好在 Composer 官方提供了这样的静态代码库生成器——Satis
1 | composer create-project composer/satis --stability=dev --keep-vcs |
Satis 的配置是通过 satis.json 进行的
1 | { |
生成项目
1 | php bin/satis build satis.json public/ |
使用静态库时修改 composer.json 文件
1 | { |