Composer的name字段需遵循vendor/package格式,全小写并用斜杠分隔,vendor为发布者名称,package为项目名,使用短横线命名法,避免保留词与特殊字符,确保全局唯一性,提升可读性与协作效率。

Composer 的 "name" 字段用于唯一标识一个 PHP 包,其命名遵循 vendor/package 格式。这个名称在 Packagist 上必须全局唯一,是依赖管理的基础。正确命名不仅能避免冲突,还能提升项目的可读性和专业性。
vendor/package 命名结构说明
该字段由两部分组成,用斜杠(/)分隔:
- vendor:代表包的发布者或组织名称。可以是公司名、团队名或个人用户名(如 GitHub 用户名)。
- package:具体项目的名称,应简洁并反映功能,例如 json-helper 或 cache-driver-redis。
示例:
monolog/monolog symfony/http-foundation yourname/api-client命名规范与限制
Composer 对 name 字段有明确的技术要求:
错误示例:MyCompany/MyPackage(含大写)、foo//bar(双斜杠)
最佳实践建议
除了技术规范,合理的命名策略有助于生态协作:
- 使用你在 Packagist 或 GitHub 上的稳定用户名作为 vendor,确保所有权清晰。
- package 名使用短横线分隔单词(kebab-case),如 data-validator 而非 datavalidator。
- 避免通用词汇如 lib、common,应体现具体用途。
- 如果你的项目是某个框架的扩展,可加上前缀,如 laravel/scout。
- 私有项目可在 vendor 中体现组织结构,如 acme-internal/inventory-service。
基本上就这些。遵守规范能让你的包更容易被发现、引用和维护。










