Composer使用体验

什么是Composer

简单来讲,Composer是PHP的包依赖管理器。可是Composer并非相似于Yum、Apt的包管理器。Composer能够用于包或者第三方库的安装,可是能够选择在Project范围内进行安装。Composer是受到Node的NPM启发。javascript

Composer能够在下面的方面帮助到你:php

  1. 容许咱们定义项目 Project 依赖的第三方库
  2. 自动帮咱们查找到哪些库能够下载,而且下载安装

安装(Linux/Unix/mac)

Composer 须要PHP 5.3.2+ 版本的支持java

Composer的安装文件很简单,直接下载一个PHP文件,而后在命令行执行就能够。安装过程其实是下载一个 composer.phar 的文件到项目文件夹。这个文件是 Composer 的库文件。linux

php composer-setup.php    //安装,下载composer.phar文件,默认到当前目录
php composer.phar //运行composer

使用

配置 composer.json

想在项目中使用 Composer 首先须要一个 composer.json 文件。该文件为必需文件,该文件指定了项目依赖哪些第三方库。npm

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

Composer 会根据 composer.json 的配置从 资源库 中查找。资源库能够是 Packagist 或者指定的资源库。json

安装

php composer.phar install

执行上面的命令,能够将monolog安装(下载)到项目中。下载完成后,项目中多一个 composer.lock 文件以及一个 vendor 文件夹。vendor 文件夹中包含了下载的 monolog 库以及一个 autoload.php、composer文件夹。app

第一次安装时,Composer 根据 composer.json 文件来决定须要哪些依赖,以后会将安装过程当中的相关信息收集写入 composer.lock 文件,该文件将咱们依赖的第三方库的版本进行锁定。composer.lock 文件应当提交到版本库中,以确保其余用户都使用相同的第三方库。composer

Autoload

require __DIR__ . '/vendor/autoload.php';

$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');

Composer 会产生一个 autoload.php 文件,代码中包含该文件后就能够正常使用第三方库。也能够本身在 composer.json 中配置 Autoload的信息。ui

{
    "autoload": {
        "psr-4": {"Acme\\": "src/“}    //注册psr-4的自动加载器,命名空间为 Acme
    }
}

配置以后,执行php composer.phar dump-autoload来从新生成autoload。命令行

更新第三方库到最新版本

php composer.phar update

这个命令能够将项目中的第三方库进行更新,更新到最新版本,依赖于 composer.json 的配置。同时更新 composer.lock 文件。

参考资料:
一、Composer

相关文章
相关标签/搜索