PHP头条
热点:

PHP的包依赖管理工具Composer简介,phpcomposer


Composer是一个基于项目的依赖管理器,负责将PHP项目所依赖的包或库安装到项目所在的目录中,默认它不会安装任何数据到全局。它用于取代之前所使用的pear工具。

3.3 name

格式:"name":"vendor/package"
如果要发布一个包,你需要指定包的名字信息。

3.4 version

格式:"version":"1.0.2"
如果要发布一个包,你需要指定包的版本号。版本号的格式为X.Y.Z或vX.Y.Z,其后可以加后缀如-dev,-patch,-alpha,-beta或-RC。除dev外,尾上还可加一个数字,如1.0.0-alpha3。

3.5 description
格式:”description”:”your own description at here!”
如果要发布一个包,可以指定一个简短的介绍

3.5 type

格式:"type":"library"
说明包的类型,支持如下library,project,metapackage,composer-plugin,默认为library

3.6 keywords

格式:"keywords":["logging","database","redis"]
一个数组的关键字,用于搜索或过滤时使用。

3.7 homepage

可选的,说明项目的网站地址

3.8 time/license

说明项目的时间和License,时间格式为YY-MM-DD HH:MM:SS

3.9 authors

格式:"authors":[ 
                {"name":"ss","email":"ss@ss.com","homepage":"","role":""},...
            ]
用于说明项目的作者信息,为可选的。

3.10 support

格式:"support":{"emial":"","issues":"","forum":"","wiki":"","irc":"" }
用于说明项目的支持信息

3.11 conflict

用于声明与本包有冲突的包的版本,使用类似于require。

3.12 replace

用于声明需要替换的包,使用类似于require

3.13 provided

用于说明本包实现了某个包的接口

3.14 suggest

格式:"suggest":{"vendor/package":"Some description!"}
用于说明可选的,用于增强功能的包及说明。

4 命令行工具

有了配置文件后,便可以使用composer命令来执行,有如下命令
init                 进入交互式向导,在当前目录下生成composer.json文件
install           根据配置进行安装
    选项 --prefer-source
             --prefer-dist
             --dry-run
             --dev/--no-dev
             -o  将psr0/4转换为classmap以提升性能
update [package-name ...] 根据配置升级指定的包
search [pattern]                    从packagelist中搜索包
show   [package-name]      显示包的信息
depends package               分析项目中包的依赖
validate                                  验证配置文件内容
status                                    检查代码是修改信息
self-update                          升级composer本身
config                                    配置composer本地或全局选项,可以--list显示所有可配置项   格式为conifg [option] [key] [value...]
create-project vendor/package path version 在指定路径下下载一个项目,默认从packagelist上搜索
dump-autoload                   当类映射中加入新类时,用于更新加载器

5 自动加载

对于composer管理的依赖,如果希望自动加载只需要在文件中加入:require 'vendor/autoload.php'
拿上面的例子,使用依赖的类就十分简单了,使用packet-name\class-name就可以直接访问了。如
$log = new Monolog\Logger();

6 杂项

composer.lock文件用于记录各依赖的版本,如果使用了VCS,即此文件也需要进行提交。因为如果此文件存在,即composer会按照此文件中的版本进行下载,会忽略composer.json文件。如果需要更新版本,则需要修改composer.json,并执行update命令,此时会下载新版本,并更新composer.lock文件。

www.phpzy.comtrue/php/5771.htmlTechArticlePHP的包依赖管理工具Composer简介,phpcomposer Composer是一个基于项目的依赖管理器,负责将PHP项目所依赖的包或库安装到项目所在的目录中,默认它不会安装任何数据到全局。它用于取代之...

相关文章

    暂无相关文章
相关频道:

PHP之友评论

今天推荐