当你转到一个Symfony项目(例如用composer create-project symfony/skeleton:"7.0.*" .
创建的项目)并运行composer require webapp
时,它将安装symfony/webapp-pack
.
composer 如何找到包名symfony/webapp-pack
,当它只被赋予字符串webapp
时?
当你转到一个Symfony项目(例如用composer create-project symfony/skeleton:"7.0.*" .
创建的项目)并运行composer require webapp
时,它将安装symfony/webapp-pack
.
composer 如何找到包名symfony/webapp-pack
,当它只被赋予字符串webapp
时?
Symfony使用自己的Composer插件Flex.它与require
进程挂钩.
\Symfony\Flex\PackageResolver::resolvePackageName()
个电话:
\Symfony\Flex\Downloader::getAliases()
它使HTTP命中:
https://raw.githubusercontent.com/symfony/recipes/flex/main/index.json
其中包含一个JSON编码的Symfony特定composer 别名列表:
"web-server": "symfony/web-server-bundle",
"web-server-bundle": "symfony/web-server-bundle",
"webapp": "symfony/webapp-pack",
"webhook": "symfony/webhook",
"weblink": "symfony/web-link",
注意,这并不局限于Symfony软件包.例如,在该文件中:
"alice": "hautelook/alice-bundle",
你可以这样做:
composer require alice