composer api 参考
composer note
简介
composer 是php的依赖管理工具。可以声明项目所依赖的库,composer会帮我们安装上
composer 默认基于项目来管理和安装库(包),将依赖的库安装到项目的 vendor 文件夹中,默认地不全局安装任何库。
composer之于php, 类似 npm之于nodejs,bundler之于ruby
一个例子 composor.json 描述项目依赖的库
{
"require": {
"monolog/monolog": "1.2.*"
}
}
composer要求 php5.3.2+, 代码仓库(git/svn/hg)
安装
windows下安装 composer
自动安装
下载并运行composer-setup.exe,将会安装composer并设置path手动安装
切换到工作目录,然后执行以下命令下载composer.pharC:\bin>php -r "readfile('https://getcomposer.org/installer');" |php
//C:\bin 在path设置中
//创建快速启动的批处理文件
C:\bin>echo @php -r "readfile('https://getcomposer.org/installer');" | php
//打印版本号 验证是否成功安装
C:\bin>composer -V
使用
下载依赖库
//composer会查找 composer.json 文件,安装json文件描述的依赖
php composer.phar install
//若全局安装了 composer, 则可以执行下面的命令
composer install //查看帮助
php composer.phar -h
自动加载依赖的库
autoload.php处理下载依赖库之外,
composer同时提供了自动加载依赖库的功能. 如:require __DIR__ . '/verdor/autoload.php'
;
;
composer基本用法
1. composer.json
composer.json 描述了项目所依赖的库和其他元数据
composer.json 示例:
{
"require": {
"monolog/monolog": "1.0.*" // verdorName/projectName: version
}
}
包的版本号:
- 准确的版本号 如: 1.0.2
- 比较运算符表示版本范围 如: >=1.0 >=1.0 <2.0(空格或,表示and) >=1.0 <1.1 || >1.2(||表示or)
- 破折号表示版本范围 如: 1.0 - 2.0 等价于(>=1.0.0 <2.1) 等价于( 1.0.* - 2.0.*)
- 用通配符表示版本范围 如: 1.0.* 等价于(>=1.0.0 <1.1)
- 波浪线表示版本范围 如: ~1.2 等价于(>=1.2 <2.0) ~1.2.3 等价于(>=1.2.3 <1.3.0)
- 脱字符表示范围 如: ^1.2.3 等价于(>=1.2.3 <2.0)
注意: ~1.2.3 和 ^1.2.3 之间的差别
安装依赖:
把composer.json文件描述的依赖安装到项目中
//在命令行下 cd到 composer.json所在目录
php composer.phar install
安装完依赖之后,composer会将它所安装的确切的版本信息写入composer.lock文件中
composer.lock确保其他人安装时也是下载相同版本的依赖库
//更新依赖库并更新composer.lock文件
php composer.phar update
//只是更新其中1个依赖库 可以这样
php composer.phar update monolog/monolog
packagist
packagist是主要的composer代码仓库,简单的说就是镜像源。 packagist官网
autoload.php
require 'vendor/autoload.php';
//这里可以直接使用依赖,不必理会依赖到底在哪里
//autoload.php负责帮我们找到并加载依赖
$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log',Monolog\Logger::WARNING);
//...stuff
composer api 参考的更多相关文章
- Google地图接口API之Google地图 API 参考手册(七)
Google 地图API 参考手册 地图 构造函数/对象 描述 Map() 在指定的 HTML 容器中创建新的地图,该容器通常是一个DIV元素. 叠加层 构造函数/对象 描述 Marker 创建一个标 ...
- Google Chart API 参考 中文版
Google Chart API 参考 中文版 文档信息 翻译: Cloudream ,最后修改:02/22/2008 06:11:08 英文版版权归 Google , 转载此中文版必须以链接形式注明 ...
- Zepto Api参考
zepto API参考 简介 Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 设计目的 ze ...
- PJSUA2开发文档--第十二章 PJSUA2 API 参考手册
12 PJSUA2 API 参考手册 12.1 endpoint.hpp PJSUA2基本代理操作. namespace pj PJSUA2 API在pj命名空间内. 12.1.1 class En ...
- Dubbo -- 系统学习 笔记 -- API参考手册
Dubbo -- 系统学习 笔记 -- 目录 API参考手册 配置API 注解API 模型API 上下文API 服务API API参考手册 Dubbo的常规功能,都保持零侵入,但有些功能不得不用API ...
- nvGRAPH API参考分析(二)
nvGRAPH API参考分析(二) nvGRAPH Code Examples 本文提供了简单的示例. 1. nvGRAPH convert topology example void check( ...
- nvGRAPH API参考分析(一)
nvGRAPH API参考分析(一) 本文通过描述nvGRAPH库函数的输入/输出参数,数据类型和错误代码来指定其行为. 1. 返回值nvgraphStatus_t 除以下内容外,所有nvGRA ...
- Django,数据模型创建之数据库API参考(转载)
一旦 数据模型 创建完毕, 自然会有存取数据的需要.本文档介绍了由 models 衍生而来的数据库抽象API,及如何创建,得到及更新对象. 贯穿本参考, 我们都会引用下面的民意测验(Poll)应用程序 ...
- 阿里云API网关(7)开发指南-API参考
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
随机推荐
- 深入理解Java虚拟机:OutOfMemory实战
在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能,本节将通过若干实例来验证异常发生的场景.并且会初步介绍 ...
- 第一次线上OJ水友赛
偶然的机会遇到了这个神奇的网站http://www.luogu.org/ 巧遇今天又有小比赛果断去试试,为我的蓝桥北京之旅练练手. 苦苦的在机房刷了一下午,大概做到了6点半. 最激动的是等成绩了, ...
- Linux简介(好!)
Linux操作系统介绍 来源:233网校论文中心[ 2009-12-02 14:23:00 ]阅读:1作者:王长青编辑:studa20 [摘 要]文章从Unix.Minix系统的产生引出了Linux操 ...
- Centos6.7 安装ReviewBoard2.5.7 问题记录
pip install ReviewBoard 1.修改pip源,默认源网络不畅 pip install -i http://pypi.douban.com/simple simplejson 2.p ...
- codeforces 3D . Least Cost Bracket Sequence 贪心
题目链接 给一个字符串, 由( ) 以及? 组成, 将?换成( 或者 ) 组成合法的括号序列, 每一个?换成( 或者 ) 的代价都不相同, 问你最小代价是多少, 如果不能满足输出-1. 弄一个变量nu ...
- Silverlight代码编写对控件的PlaneProjection.RotationY属性控制动画
Canvas c; void btnDraw_Click(object sender, RoutedEventArgs e) { Storyboard story = new Storyboard() ...
- 0x800a138f - JavaScript runtime error: Unable to get property 'asSorting' of undefined or null reference 错误原因以及解决办法
使用Jquery Datatables的时候也许会碰到这样的错误提示,当我们仔细的查找代码,发现引用的js文件,css文件均引用了,就是找不到他的问题所在. 这是从我们引用的js文件内部报的错. 这个 ...
- 翻译 GITHUB上HOW TO BE A GOOD PROGRAMMER
转载请注明出处: http://www.cnblogs.com/hellocwh/p/5184072.html 更多内容点击查看 https://ahangchen.gitbooks.io/windy ...
- B2C 电商网站需要怎样的 ERP 系统
B2C 电商网站需要怎样的 ERP 系统 主要由如下一些系统组成:1.进销存系统,你的产品的采供销当然最好是由系统来实现:2.BI系统,BI包括所有的流量.订单.商品.库存.发货等所有数据节点,亦包含 ...
- Python调用C/C++的种种方法
Python调用C/C++的种种方法 2010-12-07 09:59 28433人阅读 评论(1) 收藏 Python是解释性语言, 底层就是用c实现的, 所以用python调用C是很容易的, 下面 ...