初识Composer

558 查看

一直以来,php的包管理都总是遭人诟病(pear),直到Composer的出现,才让php有了像NodeJS的npm般的使用体验。

Composer是什么

Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

说白了,它其实就是一个工具,可以帮助我们管理依赖关系。我们只需要遵循某种格式声明项目依赖哪些库、版本等(创建一个 composer.json 文件),Composer就可以找出哪个版本的包需要安装,并安装它们。

更多详细介绍,可以参考:http://www.phpcomposer.com/what-is-composer/

Composer安装

Composer有局部安装和全局安装两种方式。局部安装就是将安装到项目工作目录中,用户使用 php composer.phar 之类的命令进行操作。我这里采用全局安装的方式,方便以后构建其他项目时使用。

p.s. 需要注意的是,Composer需要PHP 5.3.2+才能运行。php版本低于 5.3.2 的童鞋赶紧升级吧,话说现在 PHP 7.0.0 RC 1 都出来了,还用 php 5.3 以下版本的童鞋是否太原始了一点,博主现在都用 php 5.6.10 了。

博主是在CentOS下安装Composer,安装过程如下(方法一):

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

注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器(方法二):

php -r "readfile('https://getcomposer.org/installer');" | php

不得不说,博主的运气不咋的,第一种方法果然失败了,提示:

curl: (6) Couldn't resolve host 'https'

curl安装的时候没有支持https,就会这样提示,配置curl支持https这又是另外一说了,这里先用第二种方式安装Composer。

安装成功,得到以下提示:

这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。

然后把composer.phar移动到系统的 PATH 目录中,就可以全局访问了。

sudo mv composer.phar /usr/local/bin/composer

这样就全局安装完成了。

在命令行输入 composer:

composer

就可以得到Composer的选项和可用命令列表了:

Composer使用

声明依赖

在项目目录下创建一个composer.json文件,指明依赖,比如:

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

安装依赖

安装依赖非常简单,只需在项目目录下运行:

composer install

镜像修改

使用过Composer的童鞋都会发现,安装依赖包的时候那简直是龟速,那是因为使用Composer安装package的时候需要先到Packagist.org上去获取包的元数据,然后到 Github.com或其他第三方服务器上面获取zip包,而这两个站有时候会被GFW墙掉,即使没被墙,这两个网站的服务器都是国外,速度可想而知。

所幸有业界大神早就建好了中国镜像,我们就只需要使用国内的镜像就好了,修改 composer 的全局配置文件:

composer config -g repositories.packagist composer http://packagist.phpcomposer.com

更多资料

  1. Composer中文文档

  2. Composer中文网

  3. 国内镜像