我注意到我的 composer.json 中有重复的“存储库”键,用于我正在开发的一个包。该软件包正在运行。因此,我想执行“重构”,因为我想在不改变行为的情况下修复代码。如果我想修复错误,我将不得不删除未使用的重复密钥。所以,问题是:当“密钥存储库在 ./composer.json 中重复”时,composer 使用哪一个?换句话说,是否composer使用它找到的第一个键并忽略未来的键?它是否忽略以前的键并使用它找到的最后一个键?或者它是否以某种巧妙的方式合并了键的子项?这是我正在运行的命令:$ composer validateKey repositories is a duplicate in ./composer.json at line 16...composer.json 看起来像这样:{ "name": "foo/bar", "description": "foo bar", "license": "Apache-2.0", "type": "library", "repositories": [ {"type": "composer", "url": "foo"}, {"packagist.org": false} ], "repositories": [ { "type": "vcs", "url": "bar" } ], ... }
1 回答
弑天下
TA贡献1818条经验 获得超8个赞
Composer 使用seld/jsonlint检测重复键,但它用于 json_decode
解码 JSON。
json_decode
使用它找到的最后一个键值:
>>> $json = '{"a":1,"a":10,"a":100}';
=> "{"a":1,"a":10,"a":100}"
>>> $decoded = json_decode($json)
=> {#3260
+"a": 100,
}
>>> $decoded->a
=> 100
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消