{ .... "require": { "tlanyan/hello-composer": "*" }, "minimum-stability": "dev", "repositories": { "local": { "type": "path", "url": "/path/to/hello-composer" } }, .... }
配置文件需要注意两点: 1. 如果hello-composer的composer.json文件没有version字段(或不是稳定版),minimum-stability值要是dev(默认是stable),否则无法安装; 2. 需添加自定义仓库,type值为path。
2.执行composer install -vvv安装依赖包,安装完成后vendor目录下生成tlanyan/hello-composer目录。
3.在test中新建Test.php文件,引用HelloComposer类:
namespace test; require "vendor/autoload.php"; use tlanyan\HelloComposer; class Test { public static main() { HelloComposer::greet(); } } Test::main();
.执行Test.php:php Test.php,输出"Hello, Composer!"。
通过配置Composer仓库,我们成功引用了创建的hello-composer包。测试没问题后,就可以发布到网上供其他人使用。下面简要说是发布流程。
发布Composer包
将Composer包发布到互联网的方式有几种:
打包成zip,上传到任意一个可公开访问的网站;
通过版本控制软件,上传到代码仓库;
提交到PEAR社区;
提交到私有的Composer仓库;
提交到Packagist。
前四种方式,需要用户配置仓库信息才能检索到包(PEAR社区几乎已死,可以忽略)。如果代码开源,建议提交到Packagist,方便全世界的PHP开发者检索和使用,为Composer生态做贡献。
提交包到Packagist,要经历以下过程:
在Github创建项目并提交代码;
在Packagist输入项目地址提交包;
在Github配置项目,触发Packagist自动更新。
前两步是必须的,第三步可选。本着为提交的包负责的态度,强烈建议完成第三步操作。
提交包的过程涉及到Github和Packagist两个站点,Github和Packagist之间的关系为:Github托管实际的代码和文件;Packagist托管包的作者、包名、版本号、下载量等元数据保。简要说Packagist是索引,Github是内容提供方。
详细步骤可参考官网指引或网上教程,网上相关内容太多,本文不再重复。
总结
本文介绍了Composer仓库的概念,创建了一个完整的Composer包,并给出提交包到Packagist的指引。用户掌握相关概念和运行机制后,可提交代码为社区做贡献,也可跳出Packagist自由的引用和安装依赖包。
您可能感兴趣的文章: