发布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安装使用。

想让自己的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、写清使用示例,会让你的包更受欢迎。不复杂但容易忽略细节,一步步来就行。










