使用 Composer

依赖管理

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 来安装项目的依赖。如果在当前目录下没有一个 composer.json 文件,请查看基本用法章节。

要解决和下载依赖,请执行 install 命令:

php composer.phar install

如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替:

composer install

继续 上面的例子,这里将下载 monolog 到 vendor/monolog/monolog 目录。

自动加载

除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中:

require 'vendor/autoload.php';

现在我们就可以使用 monolog 了!

 

 

 

 

 

 

 

评论
列表