官方网站:https://getcomposer.org/
官方文档中文版:http://docs.phpcomposer.com/
composer是什么?
Composer 是 PHP 用来管理依赖(dependency)关系的工具
你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
安装和使用
1.安装
linux下
curl -sS https://getcomposer.org/installer | php
windows下
下载文件:https://getcomposer.org/Composer-Setup.exe
设置系统的环境变量 PATH 并运行安装命令下载 composer.phar 文件:
C:\Users\username>cd C:\bin
C:\bin>php -r "readfile('https://getcomposer.org/installer');" | php
注意: 如果收到 readfile 错误提示,请使用 http 链接或者在 php.ini 中开启 php_openssl.dll 。
在 composer.phar 同级目录下新建文件 composer.bat :
C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat
关闭当前的命令行窗口,打开新的命令行窗口进行测试:
C:\Users\username>composer -V
Composer version 27d8904
2.使用 Composer 来安装项目的依赖。
创建composer.json文件:告诉 Composer 你的项目需要依赖哪些包
{
“require”: {
“rmccue/requests”: “~1.6.1”, //供应商名称/其项目名称:包版本~ 最好用例子来解释: ~1.2 相当于 >=1.2,<2.0,
“phpoffice/phpexcel”: “~1.8.1”,
“sonata-project/cache”: “~1.0.6”,
“mikehaertl/php-shellcommand”: “~1.2.0”,
“symfony/config”: “~2.0.25”
}
}
3.安装组件
php composer.phar install 把包下载到 vendor 目录
4.composer.lock - 锁文件
install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。
如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件。
你的依赖更新了新的版本,你将不会获得任何更新,所有人使用相同的版本
更新:php composer.phar update 根据composer.json文件更新
5.自动加载
对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件。
你可以在 composer.json 的 autoload 字段中增加自己的 autoloader。
{
“autoload”: {
“psr-4”: {“Acme\”: “src/”}
}
}
{
“requirre”: {
“rmccue/requests”: “~1.6.1”,
“phpoffice/phpexcel”: “~1.8.1”,
“sonata-project/cache”: “~1.0.6”,
“mikehaertl/php-shellcommand”: “~1.2.0”,
“symfony/config”: “~2.0.25”
},
“autoload”: {
“psr-4”: {
“CI123\Shop\Xinyi\”: “Xinyi/”,
“CI123\Shop\Kernel\”: “Kernel/”
}
}
}
6.Packagist
packagist 是 Composer 的主要资源库。 https://packagist.org/