composer文件简介
composer.json常用选项
键名 | 描述 |
---|---|
name | 表示包的名称,如果你经常使用GitHub,那对这个值的表达方式一定非常熟悉。通常扩展包名包含两部分,并且以“/”分隔。斜杠前的部分,代表包的所有者,斜杠后的部分代表包的名称。尽量保持简单和有意义,便于记忆和传播。如“"name”:“Lmonkey demo””,“Lmonkey”表示公司,“demo”表示公司下面的一个项目名 |
description | 表示项目的应用简介,这部分应尽量简洁地介绍项目。如果确实有很多内容,建议写在README.md文件里(在扩展库的源码目录中) |
license | 如果决定将包公开发布,那么记得选择一个合适的许可证。这样别的程序员在引用包的时候,通过查看许可证,确保没有法律上的问题 |
authors | 作者字段可以包含一个对象数组,也就是说,可以提供多个作者信息 |
require | 这个字段的值是一个对象,同样以键值对的形式构成。上例提到的两个依赖关系,最重要的就是版本信息的指定。如我们需要使用monolog的版本是1.0.,意思是只要版本是1.0分支即可,如1.0.0,1.0.2或1.0.99。版本定义的几种方式如下:(1)标准的版本:定义标准的版本包文件,如1.0.2(2)一定范围的版本:使用比较符号来定义有效的版本的范围,有效的符号有>,>=,<<,!= (3)通配符:特别的匹配符号,如1.0.*相当于>=1.0且<1.1版本即可(4)下一个重要的版本:符号最好的解释就是,1.2就相当于>1.2且<2.0,但~1.2.3相当于>=1.2.3且<13版本 |
minimum-stability | 通过设置minimum-stability的值,告诉Composer当前开发的项目依赖要求的包的全局稳定性级别,它的值包括dev、alpha、beta、RC、stable,其中,stable是默认值 |
composer.lock
文件composer.lock会根据composer.json的内容自动生成,和composer.json在同一位置,即在安装完所有需要的包之后,Composer会在composer.lock文件中生成一张标准的包版本的文件,这将锁定所有包的版本。可以使用composer.lock(当然是和composer.json一起)来控制项目的版本。
composer.lock与composer.json的关系为,composer.json文件为包的元信息,composer.lock文件同样为包的元信息,但在composer.json文件中可以指定使用不明确的依赖包版本,如“>=1.0",在composer.lock文件中的会是当前安装的版本。那么当使用Composer安装包时,它会优先从composer.lock文件读取依赖版本,再根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。这对于团队开发来讲非常重要。
composer常用命令
命令 | 描述 |
---|---|
composer list | 获取帮助信息 |
composer init | 以交互方式填写composer json文件信息 |
composer install | 从当前目录读取composerjson文件,处理依赖关系,并安装到 vendor目录下 |
composer update | 获取依赖的最新版本,升级composerlock文件 |
composer require | 添加新的依赖包到composerjson文件中并执行更新 |
composer search | 在当前项目中搜索依赖包 |
composer show | 列举所有可用的资源包 |
composer validate | 检测composerjson文件是否有效 |
composer self-update | 将composer工具更新到最新版本 |
composer create-project | 基于composer创建一个新的项目 |