首先看下phpcomposer官方的定义,composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
composer可以帮助我们快速安装类库,通过过composer,我们可以使用大量的第三方库,而无需自己造轮子,现在很多流行框架很注重使用composer,因为你可以使用大量优秀的轮子,大大提高效率.
1.安装
官方网址肯定是最优秀的手册,http://docs.phpcomposer.com/00-intro.html
以windows举例,使用安装程序
下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。
2.使用composer
1>通过composer require命令安装扩展包
composer require monolog/monolog
安装成功后的目录结构,注意我们在根目录下得到了vender文件夹(包下载后存放位置),composer.json和composer.lock文件(可以说这两个是包管理的指引文件)
2>编写composer.json文件,然后根据该文件安装扩展包.
composer.json文件包含了项目的依赖和其它的一些元数据。
可以使用 composer init 命令,初始化一个json文件
在 composer.json 文件中指定 require key 的值。告诉 Composer 你的项目需要依赖哪些包。
{
"require": {
"monolog/monolog": "1.0.*"
}
}
安装上面的依赖
composer install
和是用composer require 命令一样相同的结果,我们得到了 monolog/monolog 包,并将它下载到 vendor 目录,而且我们也得到了composer.lock文件
关于开发过程中包的管理小建议:
1> 如果你正在使用Git来管理你的项目, 你可能要添加 vendor 到你的 .gitignore 文件中。 你不会希望将所有的代码都添加到你的版本库中。
2>install 命令将创建一个 composer.lock 文件到你项目的根目录中。请提交你应用程序的 composer.lock (包括 composer.json)到你的版本库中
关于如何安装扩展包,进行管理
composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;
composer update - 从 composer.json 安装所有最新扩展包和依赖,同时也可以删除依赖,注意是所有,慎用,慎用,慎用;
composer update vendor/package - 从 composer.json 或者对应包的配置,并更新到最新;
composer require new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.
虽说有多重更新的方案,但是为了项目的稳定性,建议使用require下载和更新扩展包
composer require "monolog/monolog:1.0.*" 通过指定版本可以更新扩展包
3.自动加载
composer 自动加载设置了 4种 加载方式 :
- PSR-0
- PSR-4
- classmap
- files
并推荐使用 PSR-4 规范,
关于自动加载,有两篇文章写的非常好,推荐
http://www.tuicool.com/articles/QNNFvmf
https://segmentfault.com/a/1190000005085600
简单命令
composer require cuab/phpcrawl
composer init 初始化一个json文件
composer install 安装json中的依赖
composer update 更新json中的依赖,可以删除相应的依赖
composer search phpcrawl
composer show --all cuab/phpcrawl