Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。
下载 Composer 的可执行文件
局部安装
要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中):
$ curl -sS https://getcomposer.org/installer | php
上面的php是执行php文件[这个是linux的默认执行php环境/usr/local/bin中],我自己装的不是默认环境中[/opt/lampp/bin],
在目录/www/extend目录中,所以我安装为:$ curl -sS https://getcomposer.org/installer | /opt/lampp/bin/php
这时得到了文件composer.phar
,在目录/www/extend文件夹中;
声明依赖关系
比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,在你的项目中,你所需要做的就是创建一个
composer.json
文件,其中描述了项目的依赖关系。
{
"require": {
"monolog/monolog": "1.2.*"
}
}
你可以看到, require
需要一个 包名称 (例如
monolog/monolog
) 映射到 包版本 (例如 1.0.*
)
的对象。
包名称
包名称由供应商名称和其项目名称构成。通常容易产生相同的项目名称,而供应商名称的存在则很好的解决了命名冲突的问题。它允许两个不同的人创建同样名为
json
的库,而之后它们将被命名为 igorw/json
和
seldaek/json
。
这里我们需要引入
monolog/monolog
,供应商名称与项目的名称相同,对于一个具有唯一名称的项目,我们推荐这么做。它还允许以后在同一个命名空间添加更多的相关项目。如果你维护着一个库,这将使你可以很容易的把它分离成更小的部分。
安装依赖关系
获取定义的依赖到你的本地项目,只需要调用 composer.phar
运行 install
命令。
在你的项目中【比如为/www/test】执行:
/opt/lampp/bin/php /www/extend/composer.phar composer.json ;
这将会找到 monolog/monolog
的最新版本,并将它下载到 vendor
目录。
这是一个惯例把第三方的代码到一个指定的目录 vendor
。如果是 monolog 将会创建
vendor/monolog/monolog
目录。
自动加载:
对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php
文件。你可以简单的引入这个文件,你会得到一个免费的自动加载支持。
require ‘vendor/autoload.php‘;
这使得你可以很容易的使用第三方代码。例如:如果你的项目依赖 monolog,你就可以像这样开始使用这个类库,并且他们将被自动加载。
$log = new Monolog\Logger(‘name‘);
$log->pushHandler(new Monolog\Handler\StreamHandler(‘app.log‘, Monolog\Logger::WARNING));
$log->addWarning(‘Foo‘);
加载其他库也类似。。
转文章:http://composer.golaravel.com/00-intro.html#Dependency-management