Composer : php依赖管理工具
2016-11-09 18:01
423 查看
原始时代
我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了总结如下代码混乱规范不统一
没有后续统一更新等管理
Composer侠应运而生
composer直到如今 已有5个年头了,也是直到今年才有了第一个稳定版本1.0,以前都是alpha版本了,其实composer的发展 也和 PHP-FIG (后续会专门解释的)的发展有很大关系composer是php新时代的依赖管理利器,就像python的pip,nodejs的npm,javascript的bower等。你可以在自己的项目申明所依赖的外部库,composer可以帮你安装这些
composer解决如下问题
你有一个项目需要依赖若干个库其中一个库依赖其他库
找出你需要的版本进行安装
安装Composer
要求
composer 要求 php 不低于 5.3.2+命令
curl -sS https://getcomposer.org/installer | php
过程如下
$ curl -sS https://getcomposer.org/installer | php All settings correct for using Composer Downloading 1.2.1... Composer successfully installed to: /home/www/php/test/helloworld/composer.phar Use it: php composer.phar $ ll -rwxr-xr-x 1 501 dialout 1704783 Oct 10 23:20 composer.phar*
可以看到执行上述命令之后 会将composer.phar文件下载在当前目录。phar是php的压缩格式,可以直接在命令行运行该文件
全局安装命令
$ mv composer.phar /usr/local/bin/composer
Composer基本使用
composer.json
要在你的项目和库使用composer,那么composer.json就是必要文件,可以自行新建。内容是JSON格式非常容易编写配置国内镜像源
将如下代码也放在composer.json中去"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
申明依赖 require
例如我的项目依赖phpexcel,申明如下{ "require":{ "phpoffice/phpexcel": "1.8.0" } }
把上面两步代码合并起来,composer代码如下
{
"require":{
"phpoffice/phpexcel": "1.8.0"
},
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
}
安装依赖
php composer.phar install使用国内镜像源安装很快的(会自动生成一个autoload.php文件),安装完结构如下
$ tree -L 2 |-- composer.json |-- composer.lock |-- composer.phar |-- index.php |-- vendor |-- autoload.php |-- composer |-- phpoffice
自动加载
在index.php加入一行 代码就可以直接使用库了require 'vendor/autoload.php'
Composer高级特性
安装单个库
php composer.phar update phpoffice/phpexcel php composer.phar update phpoffice/phpexcel:dev-master
更新单个库
有时间想更新某一个库,不想更新依赖,很简单php composer.phar update phpoffice/phpexcel
直接安装库 不用编辑composer.json
你要是觉得没添加一个库就要修改composer.json麻烦,可以直接使用 require 命令php composer.phar require monolog/monolog #日志操作库
结构如下
$ tree -L 2 |-- composer.json |-- composer.lock |-- composer.phar |-- index.php |-- README.MD -- vendor |-- autoload.php |-- composer |-- monolog |-- phpoffice |-- psr
移除扩展
php composer.phar remove sinergi/browser-detector
生产环境优化
当你把项目部署到线上环境,不要忘了执行如下代码优化自动加载,可以提高20%左右的性能php composer.phar dump-autoload --optimize
参考资源
博文演示代码: https://github.com/apanly/composer_helloworldPachagist官网地址:https://packagist.org/ PHP-FIG: http://www.php-fig.org/Composer中文网: http://www.phpcomposer.com/ Json官网:http://json.org/
原文地址:Composer : php依赖管理工具
标签:composer psr require install pear phpexcel
智能推荐
捕获JS 错误日志【No.2 Ionic】Android打包
PSR : php编码规范
【Composer】实战操作一:使用库
【Composer】实战操作二:自己创建composer包并提交
相关文章推荐
- Composer PHP的包依赖管理工具
- PHP的包依赖管理工具Composer
- PHP依赖管理工具Composer入门
- windows下安装php依赖关系管理工具composer
- PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
- PHP的包依赖管理工具Composer简介
- PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
- PHP依赖管理工具Composer入门
- 使用PHP依赖管理工具Composer安装Guzzle
- PHP依赖管理工具Composer入门教程
- windows下安装php依赖关系管理工具composer
- PHP管理依赖(dependency)关系工具 Composer 安装与使用
- 实用PHP依赖管理工具Composer入门教程
- php管理依赖关系工具composer学习笔记
- Composer PHP 依赖管理工具
- PHP的包依赖管理工具Composer简介
- PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
- PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
- Composer(PHP依赖管理工具)安装
- composer一个php的依赖管理工具。