Composer 是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
系统需求:
Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的情况。比如PHP的扩展的要求是,安装或重新编译php without –disable-phar
Composer 是兼容多平台的,其运行适用于Windows,Linux和OSX。
这个命令会将 composer.phar
下载到当前目录。
- curl -sS https://getcomposer.org/installer | php
你可以使用 --install-dir
选项将 Composer 安装到指定的目录,例如:
- curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
当然也可以进行全局安装:
- curl -sS https://getcomposer.org/installer | php
- mv composer.phar /usr/local/bin/composer
OSX安装(非全局)
- brew tap josegonzalez/homebrew-php
- brew install josegonzalez/php/composer
不过通常情况下只需将 composer.phar 的位置加入到 PATH 环境变量就可以,不一定要全局安装。安装完成后,检查安装版本。
Composer中国镜像
使用本镜像服务就意味着下载的所有的安装包元数据都将来自本镜像服务,而不再向 packagist.org 发起请求。这将加速 Composer 的安装过程,并且更加可靠、快速。(由于众所周知的原因,国外的网站连接速度太慢,并且随时可能被墙)
一般情况下,安装包的数据(zip 文件等)一般是从 GitHub 或其他第三方服务器上下载的,使用本镜像服务后,我们会缓存所有安装包到国内的机房,这样就不必再去向国外的网站发起请求,因此,即使 packagist.org、github.com 或其他第三方服务发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
启用本镜像服务: 将以下配置信息添加到 Composer 的配置文件 config.json中(系统全局配置)
查看 composer 主目录:通过 composer config -l -g
命令可以列出 composer 的全局配置信息,在这些信息中查找 [home]
配置项就是 composer 的主目录。Linux 用户请执行 sudo composer config -l -g
命令。
进入 composer 的主目录,打开 config.json 文件(如果没有就自己创建一个),然后增加本镜像服务的配置信息,最终内容如下:
- {
- "config": {
- },
- "repositories": [
- {"type": "composer", "url": "http://pkg.phpcomposer.com/repo/packagist/"},
- {"packagist": false}
- ]
- }
声明依赖
在项目目录下创建一个composer.json
文件,指明依赖,比如,你的项目依赖 monolog:将中国镜像配置信息添加到你的项目的composer.json 文件中(针对单个项目配置)
- {
- "require": {
- "monolog/monolog": "1.2.*"
- }
- /*"repositories": [
- {"type": "composer", "url": "http://pkg.phpcomposer.com/repo/packagist/"},
- {"packagist": false}
- ]*/
- }
安装依赖
安装依赖非常简单,只需在项目目录下运行:
- composer install
- composer update
如果没有全局安装的话,则运行:
- php composer.phar install
自动加载
Composer提供了自动加载的特性,只需在你的代码的初始化部分中加入下面一行:
- require 'vendor/autoload.php';
下载安装成功界面
Composer是PHP中的一个依赖关系管理工具。通过Composer我们可以在发布软件时节省大量的文件数目和控制依赖包的版本。
Composer中文网:http://www.phpcomposer.com/
Composer Github项目:https://github.com/composer/composer
PHP Composer软件包列表:https://packagist.org/