我刚安装了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
部分时与其他部分有所不同:键是对bin/console
命令的引用,值是一个"类型"命令(在这种情况下是Symfony的)。由于Composer网站上没有文档记录这一点,我认为这不是合法的定义,但它确实有效。我的问题是,Composer如何知道执行这些命令?Composer如何知道symfony-cmd
是什么?