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.phar
C:\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 ...
随机推荐
- 通过自定义注解反射生成SQL语句
----------------------------------------Program.cs---------------------------------------- using Sys ...
- Java Class类以及获取Class实例的三种方式
T - 由此 Class 对象建模的类的类型.例如,String.class 的类型是Class<String>.如果将被建模的类未知,则使用Class<?>. publi ...
- Fast InvSqrt()(平方根倒数速算法)
浮点数的平方根倒数常用于计算正规化矢量.3D图形程序需要使用正规化矢量来实现光照和投影效果,因此每秒都需要做上百万次平方根倒数运算,而在处理坐标转换与光源的专用硬件设备出现前,这些计算都由软件完成,计 ...
- scanf 和cin 的区别
笔试的时候经常遇到突然string s;cin>>s; 有的时候编译会错误,不知道为什么. 今天在练习枚举类型的时候,也遇到这样一个问题. enum weekday{Monday,Tues ...
- EC读书笔记系列之2:条款4 确定对象被使用前已先被初始化
条款4:确定对象被使用前已先被初始化 记住: ★为内置对象进行手工初始化,因为C++不保证初始他们 ★构造函数最好使用初始化列表,而不要在构造函数本体内使用赋值操作.初始化列表列出的成员变量,其排列次 ...
- PowerShell入门(一):PowerShell能干什么?
原文链接:http://www.cnblogs.com/ceachy/archive/2013/01/30/WhatCanPowerShellDo.html PowerShell能干什么呢?就像序言中 ...
- mongodb or操作与连接池
mongodb # 类似于sql中的in或者or操作 mulites field query: db.cool.find({$or:[{field1:'val'},{'field2':'val'}-] ...
- Makefile写法
概述 -- 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makef ...
- android 用 XML 自定义边框(只上下边框有色)
直接上代码: <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android ...
- 在Centos 5.x或6.x上安装RHEL EPEL Repo
本文介绍了如何在CentOS 5.x或者CentOS 6.x的系统上使用Fedora Epel repos一个第三方repo:remi资源库.这些资源包并不是天然地支持CentOS,但是提供了很多流行 ...