如何在composer.json的”extra”字段中存储自定义配置?

composer.JSon 的 extra 字段中存储自定义配置是常见做法,可用于传递项目元信息或供插件、脚本使用。例如可定义字符串、布尔值、数组和嵌套对象:{ “extra”: { “my-custom-setting”: “value1”, “paths”: [“src/”, “config/”] } }。php 中可通过读取并解析 composer.json 获取这些值:$composer = json_decode(file_get_contents(__DIR__ . ‘/composer.json’), true); $extra = $composer[‘extra’] ?? []; 也可在 Composer 脚本中通过 Event 对象访问:$event->getComposer()->getPackage()->getExtra()。常用于指定部署路径、配置插件行为、标记项目类型或传递构建参数,只要避免键名冲突,可自由组织结构,便于维护。

如何在composer.json的”extra”字段中存储自定义配置?键值对

extra 字段允许你自由定义键和值。你可以将自定义配置以 JSON 兼容格式写入:

{     "name": "your-vendor/your-project",     "extra": {         "my-custom-setting": "value1",         "another-option": true,         "paths": [             "src/",             "config/"         ],         "environment": {             "dev": {                 "debug": true             },             "prod": {                 "debug": false             }         }     } }

上面的例子展示了字符串、布尔值、数组和嵌套对象等多种类型的配置。

从 PHP 代码中读取 extra 配置

在你的应用或脚本中,可以通过加载 composer.json 文件并解析 extra 字段来获取这些值:

如何在composer.json的”extra”字段中存储自定义配置?

标贝悦读AI配音

在线文字转语音软件-专业的配音网站

如何在composer.json的”extra”字段中存储自定义配置?20

查看详情 如何在composer.json的”extra”字段中存储自定义配置?

$composer = json_decode(file_get_contents(__DIR__ . '/composer.json'), true); $extra = $composer['extra'] ?? [];  $setting = $extra['my-custom-setting'] ?? null; $paths = $extra['paths'] ?? []; 

如果你是在 Composer 脚本(如 post-install-cmd)中使用,也可以通过 ComposerScriptEvent 对象访问:

public static function myScript(ComposerScriptEvent $event) {     $composer = $event->getComposer();     $extra = $composer->getPackage()->getExtra();      if (isset($extra['my-custom-setting'])) {         // 使用你的自定义配置         echo $extra['my-custom-setting'];     } }

用途示例

这种机制常用于:

  • 指定部署时需要复制的目录或文件
  • 配置插件行为(如生成文档的路径)
  • 标记项目类型(如是否为微服务、前端项目等)
  • 传递环境相关参数给构建脚本

基本上就这些。只要不与已知插件使用的键冲突,你可以自由命名和组织 extra 中的内容。注意保持结构清晰,便于维护。

以上就是如何在composer.json的”extra”字段中存储自定义配置?的详细内容,更多请关注php中文网其它相关文章!

暂无评论

发送评论 编辑评论


				
上一篇
下一篇
text=ZqhQzanResources