将自己的 PHP 类库发布到 Composer 仓库,需要经过一系列的准备和操作步骤,以下是详细说明:
准备工作
- 创建类库项目:确保你的 PHP 类库项目具有清晰的目录结构,遵循 PSR-4 等 PHP 编码规范。通常,类文件应放在
src
目录下,且具有合适的命名空间。 - 添加 composer.json 文件:在项目根目录下创建
composer.json
文件,这是 Composer 的配置文件,用于描述你的类库。以下是一个基本的composer.json
示例:{"name": "tekintian/sentry9-php","author": [{"name":"tekintian"},{"url":"https://dev.tekin.cn"}],"description": "Sentry9 PHP 可视化日志管理系统,支持 php5.3--php8.2版本, 支持 tp5, tp8, ci, yii2, laravel等PHP框架, 可以集成到框架中,也可直接使用, sentry raven thinkphp8适配, tp8 sentry 日志管理工具, sentry9 sdk for php8,php7, ","type": "library","keywords": ["sentry","thinkphp5","sentry tp5","sentry tp5 日志工具", "日志管理工具"],"homepage": "https://github.com/tekintian/sentry9-php","license": "BSD-3-Clause","support": {"forum": "https://github.com/tekintian/sentry9-php","source": "https://github.com/tekintian/sentry9-php"},"version":"2.0","require": {"php": "^5.3|^7.0|^8.0"},"autoload": {"psr-4": {"Sentry9\\": "src"}} }
- 初始化 Git 仓库:在项目根目录下执行
git init
命令,将你的类库项目初始化为一个 Git 仓库,并将所有文件添加到暂存区,提交初始版本。
将你的类库发布到github仓库
使用你的github账号创建一个仓库,并将你的代码推送到github,如下图所示
发布到 Packagist
- 注册 Packagist 账号:访问Packagist 网站,使用你的 GitHub、GitLab 或 Bitbucket 账号进行注册。
- 提交类库:在 Packagist 网站上点击 “Submit” 按钮,在提交页面中输入你的类库的 Git 仓库 URL,然后点击 “Check” 按钮。Packagist 会检查你的仓库是否符合要求,如果没问题,再点击 “Submit” 按钮将你的类库提交到 Packagist。
使用 Composer 安装和更新
-
安装:在其他 PHP 项目中,要使用你发布的类库,只需在项目的根目录执行命令composer require xxx, 如: 安装sentry9-php sdk
composer require tekintian/sentry9-php
- 或者在
composer.json
文件中添加依赖:
{"require": {"tekintian/sentry9-php": "^2.0"}
}
然后在项目根目录下执行composer update
命令,Composer 会自动从 Packagist 下载你的类库并安装到项目的vendor
目录下。
更新:当你对类库进行了更新并提交到 Git 仓库后,其他使用该类库的项目可以通过执行composer update your-vendor/your-library
命令来更新到最新版本。
持续维护
- 版本管理:遵循语义化版本控制规范,合理地管理你的类库版本。当你对类库进行了重大更新、添加了新功能或修复了重要 bug 时,及时更新
composer.json
中的版本号,并提交到 Git 仓库和 Packagist。 - 文档维护:为你的类库编写清晰、详细的文档,包括类的使用方法、函数参数说明、示例代码等。可以使用 phpDocumentor 等工具来生成 API 文档,并将文档托管在 GitHub Pages 等平台上,方便用户查看。