PHP依赖管理工具Composer入门


Composer

介绍

Composer是PHP中的一个依赖管理工具. 它可让你声明本身项目所依赖的库,而后它将会在项目中为你安装这些库。php

依赖管理

Composer不是包管理器。是的,它实际上和"包"或者库打交道,可是它是以项目为单位进行管理,把它们安装到你项目中的一个目录(例如vendor)。默认状况下它不会以全局的方式安装任何东西。所以,它是一个依赖管理器。html

这个想法并不新鲜,Composer的灵感是来自于node的npm和ruby的bundler。可是目前PHP尚未一个这样的工具。node

Composer解决的问题是:git

a) 你有一个依赖N多库的项目。github

b) 这些库中一些又依赖于其余的库。npm

c) 你声明你所依赖的库。json

d) Composer找出哪些包的哪一个版本将会被安装,而后安装它们(也就是把它们下载到你的项目中)。ruby

声明依赖关系

假设你正在建立一个项目,而后你须要一个日志操做的库。你决定使用monolog。为了把它加入到你的项目中,你须要作的就是建立一个名为composer.json的文件,其描述这个项目的依赖关系。composer

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

咱们简单的描述说咱们的项目依赖某个monolog/monolog包,版本只要是以1.2开头的就行。curl

系统要求

Composer须要PHP 5.3.2+才能运行。一些灵敏的PHP设置和编译选项也是必须的,不过安装程序(installer)会警告你任何不兼容的地方。

若是想要从源码而不是简单的从zip压缩包中安装软件包的话,你将须要git,svn或者hg,这依赖于软件包是经过什么进行版本控制的。

Composer是兼容多平台的,而且咱们力争使其在Windows,Linux和OSX上的运行无差别。

安装 - *nix

下载Composer可执行程序

局部安装

为了获取Composer,咱们须要作两件事。第一个是安装Composer(前面说过了,这意味下载它到你的项目中):

$ curl -sS https://getcomposer.org/installer | php

这只会检查一些PHP设置,而后下载composer.phar到你的工做目录中。这个文件是Composer二进制文件。它是一个PHAR (PHP archive),PHP的归档格式,也能够像其余命令同样在命令行上运行。

你可使用--install-dir选项,而且提供一个目标目录(能够是绝对或者相对路径)从而把Composer安装到一个指定的目录:

$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

全局安装

你能够把这个文件放到任何你想放的地方。若是你把它放到你的PATH中,你就能够全局访问它了。在类unix系统中你甚至可使它可执行,而且调用的时候不须要php

你能够执行这些命令从而可以在你的系统上简单的访问composer

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

而后,只须要执行composer命令来运行Composer,而不是php composer.phar

安装 - Windows

使用安装程序

这是在你的机器上安装Composer最简单的方法。

下载并运行Composer-Setup.exe,它将会安装最新的Composer版本而且设置好PATH,而后你就能够在命令中的任何目录下调用composer了。

手动安装

切换到一个存在于PATH环境变量中的目录,而后执行安装代码片断来下载composer.phar:

C:\Users\username>cd C:\bin
C:\bin>php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

建立一个新的以.bat结尾的composer文件:

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

关闭你当前的终端。打开一个新的终端测试一下:

C:\Users\username>composer -V
Composer version 27d8904

C:\Users\username>

使用Composer

咱们接下来要使用Composer来安装项目的依赖。若是你在当前目录下没有一个叫做composer.json的文件,请跳到基本使用章节。

为了解决并下载依赖,运行install命令:

$ php composer.phar install

若是你是全局安装,而且目录下没有phar文件,那么运行这个:

$ composer install

若是是上面的例子,这个操做将会下载monolog到vendor/monolog/monolog目录。

自动加载

除了下载库以外,Composer也会建立一个自动加载文件,这个文件可以自动加载Composer下载的库中全部的类。若是想使用它,只须要在你代码启动的地方加上以下代码:

require 'vendor/autoload.php';

哇哦!如今开始使用monolog吧! 若是想进一步学习Composer,继续阅读「基本使用」章节。 若是想要找须要的package,到Packagist

参考

相关文章
相关标签/搜索