Composer 是 PHP 的一个依赖管理工具,类似于node.js的npm,相关收录的php包可以在packagist找到。下面是composer常用到的资源库,mark在笔记最前方便查阅
version
- composer v1.5.5 : 截止2017-12-26前的最新版;
- composer v1.2:
一、安装composer
|
|
二、composer配置
2.1 镜像的配置
packagist
是 Composer 的主要资源库。 一个 Composer 的库基本上是一个包的源:记录了可以得到包的地方。Packagist 的目标是成为大家使用库资源的中央存储平台。由于国内网络的问题composer源可以替换回国内, 操作方法如下
- 设置为全局
composer config repo.packagist composer https://packagist.phpcomposer.com
composer 全量中国镜像:http://pkg.phpcomposer.com/
- 应用内设置
上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):
|
|
2.2 配置语法
关于 require
Key配置
第一件事情(并且往往只需要做这一件事),你需要在 composer.json 文件中指定 require key
的值。你只需要简单的告诉 Composer 你的项目需要依赖哪些包。
|
|
关于包名称和包版本可以参考文章http://docs.phpcomposer.com/01-basic-usage.html#Package-Names
更多配置内容请参考 composer.json 架构
三、使用composer
3.1 composer基础命令使用
|
|
跟多关于composer的命令可以在这里看:http://docs.phpcomposer.com/03-cli.html
3.2 php使用composer
1) 自动加载
对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件。你可以简单的引入这个文件,你会得到一个自由的自动加载支持。
|
|
这使得你可以很容易的使用第三方代码。例如:如果你的项目依赖 monolog,你就可以像这样开始使用这个类库,并且他们将被自动加载。
另外还有其他方法实现composer的自动加载,方法如下
- 可以在 composer.json 的 autoload 字段中增加自己的 autoloader。12345{"autoload": {"psr-4": {"Acme\\": "src/"}}}
Composer 将注册一个 PSR-4 autoloader 到 Acme 命名空间。添加 autoload 字段后,你应该再次运行 install 命令来生成 vendor/autoload.php 文件。
- 将包含调用的返回值存储在变量中,并添加更多的命名空间。这对于在一个测试套件中自动加载类文件是非常有用的,例如:12$loader = require 'vendor/autoload.php';$loader->add('Acme\\Test\\', __DIR__);
3.3 升级composer
|
|
3.4 卸载包
- 语法
composer global remove {包名}
,比如composer global remove phpunit/phpunit
四、composer实战
4.1 使用composer配置laravel
|
|