当您进入 Symfony 项目(例如使用
composer create-project symfony/skeleton:"7.0.*" .
创建)并运行 composer require webapp
时,它将安装 symfony/webapp-pack
。
当只给出字符串
symfony/webapp-pack
时,composer 如何找到包名称webapp
?
Symfony 使用他们自己的 Composer 插件,称为 Flex。它与
require
进程挂钩。
\Symfony\Flex\PackageResolver::resolvePackageName()
来电:
\Symfony\Flex\Downloader::getAliases()
,HTTP 命中:
https://raw.githubusercontent.com/symfony/recipes/flex/main/index.json
其中包含 Symfony 特定作曲家别名的 JSON 编码列表:
"webapp": "symfony/webapp-pack",