如何发布自己的Composer包_从零开始创建并发布一个Composer包到Packagist

发布PHP包到Packagist需先将代码推至GitHub等公开仓库,如my-awesome-package;接着在项目根目录创建composer.json文件,填写name、description、autoload等必要字段,确保PSR-4自动加载和PHP版本要求正确;然后通过git tag创建稳定版本标签(如v1.0.0)并推送;最后登录Packagist官网,提交仓库URL,完成自动抓取与发布,之后他人即可通过composer require your-username/my-awesome-package安装使用。

如何发布自己的Composer包_从零开始创建并发布一个Composer包到Packagist

想让自己的PHP代码被别人通过composer require轻松安装?那就得把自己的项目发布到Packagist。整个过程其实不难,只要按步骤来,几分钟就能搞定。

准备你的代码仓库

你的包必须托管在公开的Git仓库中,GitHub是最常用的选择。

  • 创建一个新的GitHub仓库,比如叫my-awesome-package
  • 把你的PHP代码放进去,确保有清晰的目录结构
  • 建议包含src/目录存放核心类,支持命名空间自动加载
  • 提交并推送到远程仓库

编写 composer.json 文件

这是Composer识别你包的核心配置文件。根目录下新建composer.json

 {     "name": "your-username/my-awesome-package",     "description": "A short description of your package",     "type": "library",     "license": "MIT",     "authors": [         {             "name": "Your Name",             "email": "you@example.com"         }     ],     "require": {         "php": "^7.4 || ^8.0"     },     "autoload": {         "psr-4": {             "MyNamespace": "src/"         }     },     "minimum-stability": "stable",     "prefer-stable": true } 

关键点说明:

  • name格式必须是用户名/包名,对应Packagist的唯一标识
  • autoload.psr-4定义命名空间映射,使用时才能正确引入类
  • 设置合适的PHP版本要求
  • 加上MIT或其他开源协议更利于传播

打标签并推送

Packagist通过Git标签识别版本。至少要有一个稳定版本标签:

  • git tag -a v1.0.0 -m "First stable release"
  • git push origin v1.0.0

没有标签的包会被视为开发版(dev),不利于他人正式使用。

提交到 Packagist

访问 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19 并登录(支持GitHub登录)。

  • 点击右上角“Submit”按钮
  • 粘贴你的GitHub仓库URL
  • 点击“Check & Submit”

提交后Packagist会抓取信息并创建页面。之后每次推新标签,可通过Setup Webhook或手动同步更新。

基本上就这些。发布完成后,别人就可以用composer require your-username/my-awesome-package安装你的包了。维护好README、写清使用示例,会让你的包更受欢迎。不复杂但容易忽略细节,一步步来就行。

以上就是如何发布自己的Composer包_从零开始创建并发布一个Composer包到Packagist的详细内容,更多请关注php中文网其它相关文章!