Composer 的 funding 字段是 composer.json 中声明赞助方式的可选配置项,用于在 composer show 命令及 Packagist 等工具中标准化展示赞助链接;它必须为含 type 和 url 键的对象数组,支持多平台并列,无需插件且 Composer ≥2.1 即可识别。

Composer 的 funding 字段是 composer.json 中的一个可选配置项,用于声明项目作者或维护者接受赞助的方式和链接。它本身不提供支付功能,也不自动收取资金,只是向使用者(尤其是通过 composer install 或 composer show 查看依赖时)展示一条清晰、标准化的赞助入口。
funding 字段的作用和显示位置
该字段主要影响两处体验:
- 运行
composer show vendor/package时,如果包定义了funding,Composer 会以 “Funding:” 开头显示赞助链接(带超链接样式,终端支持时可点击) - 某些 IDE 或工具(如 GitHub 的 Composer 插件、Packagist 页面)也会读取并渲染这个字段,提升赞助可见性
funding 字段的格式要求
它必须是一个数组,每个元素是一个关联数组,包含 type 和 url 两个必需键。可选添加 title(用于更友好的显示名)。
常见 type 值有:github、patreon、opencollective、tidelift、communitybridge、ko_fi、custom 等 —— Composer 不校验 type 是否有效,但推荐使用 官方文档列出的标准值,便于工具识别。
示例:
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/yourname"
},
{
"type": "patreon",
"url": "https://www.patreon.com/yourproject",
"title": "Become a Patron"
}
]
如何为开源项目添加赞助链接
只需在项目根目录的 composer.json 文件中加入 funding 字段,然后提交并发布新版本(或更新已存在版本的 composer.json)即可生效。Packagist 在同步后会自动读取该字段。
- 确保
url可公开访问,且指向真实有效的赞助页面 - 多个平台可同时列出,Composer 会全部显示
- 不需要额外插件或服务;只要 Composer 版本 ≥ 2.1(2021 年起默认支持),就能识别该字段
- 如果你用的是私有包,只要其
composer.json包含该字段,本地执行composer show同样会显示
小提示:别忘了同步到 Packagist
如果是托管在 GitHub/GitLab 的公开包,确认仓库已正确连接到 Packagist,并开启自动更新。修改 composer.json 后推送一次 commit(哪怕只是小版本 bump),Packagist 就会抓取新内容。你也可以手动点击 Packagist 上包页面的 “Update” 按钮强制刷新。










