Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。
使用Composer下载关联包及引用(重点)
官方文档太啰嗦,猫斯基在这里简明说一下。
猫斯基用的windwos系统,打开cmd输入下面的代码就可以下载 composer.phar 可执行文件:
curl -sS https://getcomposer.org/installer | php
下载完成后,把 composer.phar 文件移动到一个方便操作的文件夹,我放到了D盘的php-composer文件夹里。
切换到对应的目录,检查 Composer 是否正常工作。
php composer.phar
在 php-composer 文件夹里新建一个 composer.json 文件,然后写入你想关联下载的包。这里我选择 monolog 包。
{
"require": {
"monolog/monolog": "1.0.*"
}
}
之后在 cmd 里运行
php composer.phar install
就可以得到 monolog 了。
之后在你的 PHP 文件里引入
require_once 路径 . '/vendor/autoload.php';
到这里,你就可以正常使用该包的功能了。
依赖管理
Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。
这种想法并不新鲜,Composer 受到了 node's npm 和 ruby's bundler 的强烈启发。而当时 PHP 下并没有类似的工具。
Composer 将这样为你解决问题:
a) 你有一个项目依赖于若干个库。
b) 其中一些库依赖于其他库。
c) 你声明你所依赖的东西。
d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。
声明依赖关系
比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。
{
"require": {
"monolog/monolog": "1.2.*"
}
}
我们只要指出我们的项目需要一些 monolog/monolog 的包,从 1.2 开始的任何版本。
系统要求
运行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。
我们将从包的来源直接安装,而不是简单的下载 zip 文件,你需要 git 、 svn 或者 hg ,这取决于你载入的包所使用的版本管理系统。
Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。