作用
安装PHP包、依赖库。
示例:
$ composer require monolog/monolog
这是在安装monolog
库。
$ composer create-project laravel/laravel learnlaravel5 5.0.22
这是在安装laravel
框架并创建项目。
为什么用composer
通过过composer
,我们可以使用大量的第三方库,而无需自己造轮子。优秀项目示例:
- overtrue/wechat 让微信开发更简单!
- catfan/medoo 一款ORM框架
- monolog/monolog 日志记录
- hprose/hprose RPC框架
你可以在 https://packagist.org/ 找到你需要的库。甚至你可以提交自己写的优秀的库到该平台里供大家使用。
如果不会composer
,流行的laravel
、yii
框架安装都成为问题,更不用谈学习了;很多优秀的轮子你无法使用。所以,推荐phper必须学会composer。
推荐的包
overtrue/wechat 让微信开发更简单!
thenbsp/wechat
catfan/medoo
illuminate/database
psr/log
monolog/monolog
symfony/event-dispatcher
phpunit/phpunit
phpunit/php-timer
michelf/php-markdown markdown 文档解析
intervention/image 图片处理
mytharcher/alipay-php-sdk
更多查看:https://packagist.org/explore/popular
安装扩展包
以下以monolog
为例:
声明依赖
在项目目录下创建一个composer.json
文件,指明依赖,比如,你的项目依赖 monolog:
{
"require": {
"monolog/monolog": "1.2.*"
}
}
如果不需要使用https
,可以这么写,以解决有时候因为https造成的问题:
{
"require": {
"monolog/monolog": "1.2.*"
},
"config": {
"secure-http": false
}
}
安装依赖
安装依赖非常简单,只需在项目目录下运行:
composer install
如果没有全局安装的话,则运行:
php composer.phar install
更新全部的包(谨慎使用):
composer update
注意:使用composer install
或者composer update
命令将会更新所有的扩展包,项目中使用需谨慎!!!
若只安装指定的包推荐在命令行使用:
composer require monolog/monolog
进行安装。
如果需要指定版本:
composer require "monolog/monolog:1.2.*"
更新某个包:
composer update monolog/monolog
移除某个包:
composer remove monolog/monolog
如果手动更新了composer.json需要更新autoload:
composer dump-autoload
命令汇总
composer list 列出所有可用的命令
composer init 初始化composer.json文件(就不劳我们自己费力创建啦),会要求输入一些信息来描述我们当前的项目,还会要求输入依赖包
composer install 读取composer.json内容,解析依赖关系,安装依赖包到vendor目录下
composer update 更新最新的依赖关系到compsoer.lock文件,解析最新的依赖关系并且写入composer.lock文件
composer search packagename 搜索包,packagename替换为你想查找的包名称
composer require packagename 添加对packagename的依赖,packagename可修改为你想要的包名称
composer show packagename
composer self-update 更新 composer.phar文件自身
composer dump-autoload --optimize 优化一下自动加载
composer create-project 创建项目 --prefer-dist (强制使用压缩包)
composer command --help 以上所有命令都可以添加 --help选项查看帮助信息
更多可用命令,可以在命令行输入composer
进行查看。