创建composer包需先组织代码并遵循PSR-4规范,编写含正确命名空间和依赖的composer.json,初始化git并打标签,提交仓库到Packagist,最后通过composer require安装;后续应维护README、测试和语义化版本。

想让自己的 php 代码被别人通过 Composer 轻松引入?创建并发布一个 Composer 包其实并不复杂。只要按步骤来,几分钟就能搞定。
1. 准备你的包代码
新建一个目录,比如 my-awesome-package,然后在里面组织好你的 PHP 代码。
例如:
/my-awesome-package
├── src/
│ └── Calculator.php
├── composer.json
└── README.md
你的类要遵循 PSR-4 自动加载规范。比如在 src/Calculator.php 中:
<?php
Namespace MyNameAwesomePackage;
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
}
2. 编写 composer.json 文件
这是最关键的一步。根目录下创建 composer.json,内容如下:
{
“name”: “your-vendor-name/awesome-package”,
“description”: “A simple calculator package”,
“type”: “library”,
“license”: “MIT”,
“authors”: [
{
“name”: “Your Name”,
“email”: “you@example.com”
}
],
“require”: {
“php”: “^7.4 || ^8.0”
},
“autoload”: {
“psr-4”: {
“MyNameAwesomePackage”: “src/”
}
},
“minimum-stability”: “stable”,
“prefer-stable”: true
}
注意替换以下字段:
- name:格式是
vendor/package-name,vendor 可以是你的 github 用户名或公司名 - namespace:确保和 autoload 里的命名空间一致
- require:声明依赖的 PHP 版本或其他包
3. 初始化 Git 并打标签
Composer 包通常托管在 GitHub 上,并通过 Git 标签管理版本。
执行命令:
git init
git add .
git commit -m “Initial commit”
git remote add origin https://github.com/yourname/awesome-package.git
git push -u origin main
然后打一个版本标签:
git tag v1.0.0
git push origin v1.0.0
以后每次更新可以打 v1.1.0、v2.0.0 等标签。
4. 发布到 Packagist
Packagist 是 Composer 的默认包仓库。
访问 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19,登录后点击右上角「Submit」。
填入你 GitHub 仓库的 URL,比如:https://github.com/yourname/awesome-package
点击「Check」然后「Submit」。
提交后,别人就可以用下面命令安装了:
composer require your-vendor-name/awesome-package
你还可以在 GitHub 设置 Webhook,让 Packagist 在你推送新标签时自动更新。
5. 后续维护建议
- 保持 README.md 清晰,写明安装和使用方法
- 为代码写单元测试(推荐用 PHPUnit)
- 遵守语义化版本规范(SemVer)打标签
- 考虑添加 LICENSE 文件(如 MIT)
基本上就这些。从写代码到发布,整个过程清晰简单。只要你有 GitHub 和 Packagist 账号,随时都能把自己的工具分享出去。


