You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Composer构建PHP包需要遵循哪些标准规则?

PHP Composer 标准包构建补充指南

你已经了解的GitHub公开仓库准备、composer.json编写是基础要求,除此之外还需要完成以下合规事项:

1. 遵循PSR规范调整目录结构

  • 生产代码统一存放在根目录下的src/文件夹,测试代码单独存放在tests/文件夹,避免生产环境加载冗余的测试资源
  • 自动加载遵循PSR-4规范,命名空间与src/下的目录结构完全对应,需要在composer.json中配置对应的自动加载规则,示例如下:
{
  "autoload": {
    "psr-4": {
      "你的自定义命名空间前缀\\": "src/"
    }
  },
  "autoload-dev": {
    "psr-4": {
      "你的自定义命名空间前缀\\Tests\\": "tests/"
    }
  }
}

2. 补充必要的公开说明文档

  • 根目录必须添加README.md,内容需要包含包的核心功能介绍、安装命令(格式为composer require 你的包标识)、基础使用示例、运行环境要求、许可证声明
  • 建议添加CHANGELOG.md,按版本记录迭代内容、修复的问题、新增的特性,方便用户评估版本升级风险
  • 有自定义贡献规则的可以补充CONTRIBUTING.md,说明其他开发者提交代码的规范

3. 完善composer.json的合规配置

  • 明确声明包依赖的PHP版本范围、需要的PHP扩展、第三方依赖包的版本范围,不要使用过于宽松的*版本号,避免出现兼容问题
  • 严格区分生产依赖和开发依赖:测试框架、代码检查工具等仅开发场景需要的依赖,必须放在require-dev字段下,不要写入生产依赖require字段
  • 必须声明开源许可证类型,常见的如MIT、Apache-2.0等,填写在composer.json的license字段中
  • 填写清晰的包名称、作者信息、描述信息,方便用户检索识别

4. 保证代码质量与可维护性

  • 建议编写单元测试,通常使用PHPUnit作为测试框架,所有测试用例存放在tests/目录
  • 代码遵循PSR-1、PSR-12代码规范,可使用PHP_CodeSniffer做自动规范检查,保证代码可读性
  • 不要在包内硬编码敏感信息、本地固定路径,可配置的参数要预留用户自定义入口

5. 版本发布规范

  • 所有正式发布的版本需要打Git标签,标签命名遵循语义化版本规则:v[主版本号].[次版本号].[修订号],例如v1.0.0、v1.1.3,主版本号升级代表存在不兼容的API变更
  • 提交包到Packagist时绑定对应的GitHub仓库,开启自动更新,后续推送新的Git标签后会自动同步新版本到Packagist

内容的提问来源于stack exchange,提问作者Amir Hossein Najafi Zadeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:57:04