简单来讲,Composer是PHP的包依赖管理器。可是Composer并非相似于Yum、Apt的包管理器。Composer能够用于包或者第三方库的安装,可是能够选择在Project范围内进行安装。Composer是受到Node的NPM启发。javascript
Composer能够在下面的方面帮助到你:php
Composer 须要PHP 5.3.2+ 版本的支持java
Composer的安装文件很简单,直接下载一个PHP文件,而后在命令行执行就能够。安装过程其实是下载一个 composer.phar 的文件到项目文件夹。这个文件是 Composer 的库文件。linux
php composer-setup.php //安装,下载composer.phar文件,默认到当前目录 php composer.phar //运行composer
想在项目中使用 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
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