目录
如果你想开发一个 composer 包,你可以按照如下步骤进行:
1. 创建一个空的代码库
首先,你需要创建一个空的代码库,如下图所示:
创建成功后,将代码拉到本地,如下图所示:
$ git clone https://github.com/RenzcPHP/composer_test.git
2. 填写 composer.json 文件
接着,可手动创建composer.json文件,或者命令行执行 composer init 来创建一个 composer.json 文件。
在 composer.json 文件中填写一些基本信息,例如包名、版本号、描述、依赖包名等。具体可以参考官方文档:https://getcomposer.org/doc/04-schema.md
创建composer.json文件有两种方式,建议采用下面方式二来完成创建
方式一、手动创建composer.json文件,输入以下内容并保存,再手动创建src目录
{
"name": "vendor/package",
"description": "A description of the package.",
"license": "MIT",
"type": "package",
"authors": [
{
"name": "Your Name",
"email": "[email protected]"
}
],
"require": {
"php": ">=7.1"
},
"autoload": {
"psr-4": {
"Vendor\\Package\\": "src/"
}
}
}
方式二、利用 composer init 命令自动创建composer.json文件和src源代码目录,如下图所示
vendor目录是为了引入自动加载,方便本地引入自动加载文件,快速进行本地开发调用,vendor目录不用提交到git版本库进行管理
3. 开发代码
然后,需要在src目录下编写你的代码,包括所有需要的类、函数等。注意在命名时,需要遵循 PSR-4 规范,例如命名空间、类名、方法名等。
如下是简单实现的一个测试类,以及调用方式、执行输出效果。
4. 上传到Github
可以使用 git 版本工具将代码推送合并到GitHub代码库中。在你的项目根目录下,将代码push到Github上,即可完成代码上传。
5. 发布到Packagist
登录 Packagist,点击“Submit”按钮,输入 github 仓库的地址,点击“Check”,会列举出存在的类似包名,所以在开发阶段就需要确定包名的唯一性,避免出现Packagist平台已存在的包名。Check没问题就可以点“Submit”提交发布到Packagist平台了。
Submit之后代码就发布到Packagist平台了,就可以将自己的composer包开源共享给广大网友使用了。如下图所示
为了方便代码提交合并到GitHub能立即生效自动重新发布到Packagist平台,需进行如下配置:
在“https://packagist.org/profile/”查出“Your API Token”,如下图所示
将“https://packagist.org/api/bitbucket?username=RenzcPHP&apiToken=suHrUCrSB****n10WN7l”链接配置到如下项目配置“Webhooks”中,如下图所示,提交后就配置好了packagist包自动更新机制了。
配置好后可以在packagist平台看到当前包的最新状态如下所示
6. 打tag标签
为了包版本稳定,我们对测试没问题的包打个tag,发布到packagist,方便根据版本去引用对应包,
#打上标签并加注释
git tag -a "v1.0.1" -m "my first composer package"
#push标签到远程代码仓库,之后GitHub上就可以看到当前tag了
git push origin v1.0.1
打标签之后packagist上可以看到最新tag版本,如下图所示。
之后就可以顺利执行composer命令安装composer包了,如下
composer require burning/my-first-composer
至此,就完成了composer包从创建、开发、提交、发布、打tag等整个流程的走通。之后就可以愉快的安装composer包进行引用开发了。
标签:创建,代码,tag,如下,如何,json,开发,composer From: https://www.cnblogs.com/renzhicai/p/17022858.html