Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。
1 依赖管理
a) 你有一个项目依赖于若干个库。
b) 其中一些库依赖于其他库。
c) 你声明你所依赖的东西。
d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。
2 声明依赖关系
比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json
文件,其中描述了项目的依赖关系。
{
"require": {
"monolog/monolog": "1.2.*"
}
}
3 系统要求
运行 Composer 需要 PHP 5.3.2+ 以上版本。
4 安装 - Windows,linux,mac
安装 Composer,你只需要下载 composer.phar
可执行文件。
php -r "readfile('https://getcomposer.org/installer');" | php
或者
https://getcomposer.org/download/1.8.4/composer.phar
5 安装 - Windows
这是将 Composer 安装在你机器上的最简单的方法。
下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer
命令。
6 关闭当前的命令行窗口,打开新的命令行窗口进行测试:
composer -V
7 使用中国镜像
方法一: 修改 composer 的全局配置文件(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
方法二: 修改当前项目的 composer.json
配置文件:
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json
文件所在目录),执行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
上述命令将会在当前项目中的 composer.json
文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):
复制
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
镜像原理:
一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com
上下载的,安装包的元数据是从 packagist.org
上下载的。
然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。
“Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速 composer install
以及 composer update
的过程,并且更加快速、稳定。因此,即使 packagist.org
、github.com
发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
8 使用 Composer
现在我们将使用 Composer 来安装项目的依赖。如果在当前目录下没有一个 composer.json
文件
php composer init
查询某个库
composer search monolog
查询某个库的详细信息
composer show --all monolog/monolog
引入某个库
composer require name
手动使用某个依赖库在composer.json里添加,然后更新
{
"require": {
"monolog/monolog":"1.21.*"
},
}
更新
composer update
9 要检查 Composer 是否正常工作,只需要通过 php
来执行 PHAR
php composer.phar