归档文章 (2011-2017)

date
2016/04/30
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,并且能够在项目中自动安装、升级这些代码库。

依赖管理

Composer 不是一个软件包管理器(类似APT、YUM),虽然它涉及到packages 或者 libraries 概念,但是它是基于你项目来管理依赖的,依赖代码只会安装在一个文件夹下(例如 vendor文件夹),他不会将依赖代码作为系统全局来安装。当然,虽然 Composer 支持全局项目,但它仅仅是一个依赖管理工具。
假设
  1. 你的项目依赖其他第三方代码库。
  1. 这个第三方代码库同时又依赖其他的代码库。
Composer
  1. 你只需通过 Composer 声明你项目所依赖的代码库。
  1. Composer 会自动找出所有你需要安装的代码库,并将它们下载到你的项目中。

系统要求

运行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。
我们将从包的来源直接安装,而不是简单的下载 zip 文件,你需要 git 、 svn 或者 hg ,这取决于你载入的包所使用的版本管理系统。
Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。

安装 - Linux / Unix / OSX

下载 Composer 的可执行文件

Composer 提供了一个方便的安装程序,你可以直接从命令行执行。你可以免费从 官网 或者 GitHub 下载到这个可执行文件。如果你想知道更多关于程序的内部运作,你可以直接查看,他是纯文本的PHP源码。
总之,你有2种方式来安装 Composer。一种是局部安装,仅用于具体项目的使用,另一种是全局安装,所有项目都能使用。

局部安装

局部安装 Composer 只会安装到你项目的文件夹下。详情安装方法请阅读 官方下载页的说明
命令行安装(二选一)
curl -sS https://getcomposer.org/installer | php
php -r "readfile('https://getcomposer.org/installer');" | php
安装程序会检查一些 PHP 设置,然后下载 composer.phar 文件到你的工作目录。这个文件是 Composer 的二进制文件,一个 PHAR 文件 (PHP archive)。这个 composer.phar 文件可以 在命令行中执行的。
运行 Composer 程序
php composer.phar
自定义安装路径(选做)
你也可以在安装 Composer 时通过 --install-dir 参数指定安装路径,通过 --filename 参数指定文件名。
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin --filename=composer
现在你可以使用 php bin/composer 命令来运行 composer 了。

全局安装

你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类 Unix 系统中,你甚至可以在使用时不加 php 前缀。
你可以执行这些命令让 composer 在你的系统中进行全局调用:
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。
注意: 在一些系统中 /usr 这个目录可能不存在,请手动创建 mkdir -p /usr/local/bin
注意: 更多关于 PATH 环境变量的内容请访问 维基百科 或者自行 Google。
现在只需要运行 composer 命令就可以使用 Composer 而不需要输入php composer.phar

安装 - Windows

使用安装程序

这是将 Composer 安装在你机器上的最简单的方法。
下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。

手动安装

首先从 官方下载页面 下载最新版本的 composer.phar ,并将这个文件移动到 C:\Windows\System32 目录。
然后创建一个 composer.bat 文件,同时这个文件也移动到 C:\Windows\System32 目录。
C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat
最后验证是否安装成功
C:\Users\username>composer -V Composer version 1.0.0 2016-01-10 20:34:53

使用 Composer

声明依赖关系

比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。
{ "require": { "monolog/monolog": "1.2.*" } }
我们只要指出我们的项目需要一些 monolog/monolog 的包,从 1.2 开始的任何版本。
声明依赖关系后,接下来解决和下载依赖,这里将下载 monolog 到 vendor/monolog/monolog 目录,请执行 install 命令。
php composer.phar install
如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替:
composer install

自动加载

除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中:
require __DIR__ . '/vendor/autoload.php';
更多基础用法,请务必阅读 基本用法章节
对于本文内容有任何疑问, 可与我联系.