首页 > 其他分享 >如何开发一个composer包?

如何开发一个composer包?

时间:2023-01-03 17:24:33浏览次数:52  
标签:创建 代码 tag 如下 如何 json 开发 composer

目录
如果你想开发一个 composer 包,你可以按照如下步骤进行:

1. 创建一个空的代码库

首先,你需要创建一个空的代码库,如下图所示:
image.png
创建成功后,将代码拉到本地,如下图所示:

$ git clone https://github.com/RenzcPHP/composer_test.git

image.png

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版本库进行管理

image.png

3. 开发代码

然后,需要在src目录下编写你的代码,包括所有需要的类、函数等。注意在命名时,需要遵循 PSR-4 规范,例如命名空间、类名、方法名等。
如下是简单实现的一个测试类,以及调用方式、执行输出效果。image.png

4. 上传到Github

可以使用 git 版本工具将代码推送合并到GitHub代码库中。在你的项目根目录下,将代码push到Github上,即可完成代码上传。

5. 发布到Packagist

登录 Packagist,点击“Submit”按钮,输入 github 仓库的地址,点击“Check”,会列举出存在的类似包名,所以在开发阶段就需要确定包名的唯一性,避免出现Packagist平台已存在的包名。Check没问题就可以点“Submit”提交发布到Packagist平台了。
image.png
image.png
Submit之后代码就发布到Packagist平台了,就可以将自己的composer包开源共享给广大网友使用了。如下图所示
image.png
为了方便代码提交合并到GitHub能立即生效自动重新发布到Packagist平台,需进行如下配置:
在“https://packagist.org/profile/”查出“Your API Token”,如下图所示
image.png

将“https://packagist.org/api/bitbucket?username=RenzcPHP&apiToken=suHrUCrSB****n10WN7l”链接配置到如下项目配置“Webhooks”中,如下图所示,提交后就配置好了packagist包自动更新机制了。image.png
配置好后可以在packagist平台看到当前包的最新状态如下所示
image.png

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版本,如下图所示。
image.png
之后就可以顺利执行composer命令安装composer包了,如下

composer require burning/my-first-composer

至此,就完成了composer包从创建、开发、提交、发布、打tag等整个流程的走通。之后就可以愉快的安装composer包进行引用开发了。

标签:创建,代码,tag,如下,如何,json,开发,composer
From: https://www.cnblogs.com/renzhicai/p/17022858.html

相关文章

  • 打印文件学习资料如何省钱?记住这个打印小妙招
    如果你家里有一两个正在上学的孩子,或者是自己正在备考一些考试,免不了要经常去小区或学校周边打印店打印一些文件或学习资料。与此同时,相信已经发现了线下打印店的收费就比......
  • 软件开发入门教程网 之MySQL GROUP BY 语句
       ......
  • Forexclub:特斯拉四季度交付车辆创纪录,你认为2023年特斯拉销量如何
    周一特斯拉宣布其2022年第四季度交付了创纪录的405278辆汽车。这一数字创下了该公司的纪录,但低于华尔街的估计。据报道,报告中对交付量的普遍估计为420760。特斯拉称:“2022年......
  • 物联网2023年的前景如何?
    物联网市场预计将在2023年增长18%,达到超过144亿个活跃连接。据物联网分析公司(IoTAnalytics)预测,到2025年,预计将有超过270亿台联网设备。随着预期的增长和不断变化的市场条件......
  • 银河战舰——云开发组 三等奖
    惠州学院 银河战舰荣获2022年第五届“航天宏图&华为云杯”PIE软件开发者大赛云开发组三等奖 作品名称:基于PIE-Engine的南海海域水质动态监测团队简介:陈佳升、尹辉......
  • 喝杯布茶——云开发组 三等奖
    昆明理工大学 喝杯布茶荣获2022年第五届“航天宏图&华为云杯”PIE软件开发者大赛云开发组三等奖 作品名称:基于PIE-Earth的智慧水库监测预警平台团队简介:彭秋志(指......
  • 云曦团队-——云开发组 三等奖
    北部湾大学 云曦团队荣获2022年第五届“航天宏图&华为云杯”PIE软件开发者大赛云开发组三等奖 作品名称:基于PIE-Earth的智慧水库监测预警平台团队简介:林卉(指导老......
  • 如何用RSS订阅?
    摘要:我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,RSS就是这样一个订阅的方式。很多网站上看到RSS的入口,点进去以后总是显示一堆的XML代码,我们来看看怎么......
  • JDK的版本有多少种,Java开发者应该选择哪一种?
    JDK的版本有多少种,Java开发者应该选择哪一种?先说结果,一般情况下,我们多数会选择OpenJDK或者AdoptOpenJDK的JDK实现,因为这是最精简最标准的版本,而且没有商业风险。另外,需要结......
  • 守护生态小分队——云开发组 三等奖
    江西理工大学 守护生态小分队荣获2022年第五届“航天宏图&华为云杯”PIE软件开发者大赛云开发组三等奖 作品名称:基于PIE平台的全国生态功能保护区植被遥感监测系......