【发布时间】:2018-11-15 02:40:57
【问题描述】:
我刚刚安装了 Symfony 4 项目,并在 composer.json 找到了这个部分:
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
],
...
我发现 Composer 对 auto-scripts 部分的处理方式有所不同:key 是 bin/console 的命令,value 是命令“类型”(在本例中是 Symfony 的)。由于 Composer 网站上没有记录,我认为它不是合法定义,但它有效,我的问题是 Composer 如何知道如何执行这些命令? Composer 如何知道symfony-cmd 是什么?
【问题讨论】:
-
它是 Symfony Flex 作曲家插件的一部分,所以它是合法的。我从来没有准确地找到它的定义位置,但可能在here 的某个地方。相同的代码可以让你做“composer require server”和其他魔法。
标签: symfony composer-php