Composer 是 PHP 的一个依赖管理工具。
简介
依赖管理
Composer 将这样为你解决问题:
- 你有一个项目依赖于若干个库。
- 其中一些库依赖于其他库。
- 你声明你所依赖的东西。
- Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。
声明依赖关系
创建一个 composer.json
文件,其中描述了项目的依赖关系。
{
"require": {
"monolog/monolog": "1.2.*"
}
}
系统要求
运行 Composer 需要 PHP 5.3.2+ 以上版本。
安装-*nix
curl -sS https://getcomposer.org/installer | php
注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:
php -r "readfile('https://getcomposer.org/installer');" | php
你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
全局安装
你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
注意:mv可能需要root权限
使用Composer
php composer.phar
如果进行了全局安装,可以直接输入:
composer
自动加载
除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。
require 'vendor/autoload.php';
基本用法
composer.json:项目安装
要在项目中使用composer,只需要一个composer.json
文件。
关于 require Key
列出你的项目所依赖的包:
{
"require": {
"monolog/monolog": "1.0.*"
}
}
require
需要一个 包名称映射到 包版本的对象。
包名称
包名称由供应商名称和其项目名称构成。
包版本
安装依赖包
php composer.phar install
install
命令会创建一个composer.lock
文件到你项目的根目录。
composer.lock文件
在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。
请提交你应用程序的 composer.lock (包括 composer.json)到你的版本库中
这是非常重要的,因为 install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。
如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件。
如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用 update
命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。
Packagist
packagist 是 Composer 的主要资源库。