导语
使用 Composer 管理包不用过多介绍了,想必大家都知道。前段时间工作需求做了 Composer 包发布到内网的托管平台,今天有时间尝试下发布到 Packagist,整理记录下。
准备工作
准备工作很简单,共两点
开发
做一个简单的 demo
- 将 GitHub 中的项目 clone 到本地
- 执行
composer init
命令进行初始化,如果有其他依赖条件,可以配置require
和require-dev
参数 - 经过上一步会创建
composer.json
文件,如果需要改动,也可以直接修改composer.json
- 接下来写个简单的 function,创建
src/helpers.php
,代码如下
<?php
function init()
{
echo 'test composer';
}
- 最后要在
composer.json
中定义好加载方式,关于加载机制可以看这篇文章。 因为 demo 比较简单,就使用files
就可以了,最终composer.json
如下
{
"name": "test/test-composer",
"description": "test",
"type": "library",
"require": {
"php": "^7.2"
},
"license": "MIT",
"authors": [
{
"name": "test",
"email": "test@test.com"
}
],
"autoload": {
"files": [
"src/helpers.php"
]
}
}
发布
- 别忘了版本号
git tag v1.0.0
- 将代码 push 到 GitHub,tag 也要 push
git push origin --tags
- 在 Packagist 平台点击 submit,然后填入 GitHub 项目的地址,点击 check
- 等一会就可以使用
composer require
安装刚才发布的包了 - 后续提交代码到 GitHub 的时候,Packagist 会自动更新。如果没有更新的话,可以参考这篇文章进行配置
结语
很简单的 demo,也没有写 phpunit
,主要是熟悉下流程😄😄。
参考资料:Composer 包开发居然这么简单、学习开发自己的 Composer 包,并使用 GitHub 实时更新到 Packagist、深入学习 Composer 自动加载(autoload)机制。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。