作曲家如何解析"dumpautoload"命令?



使用Composer version 1.8.6 2019-06-11 15:03:05dumpautoload命令适用于以下所有变体

composer dump-autoload
composer dumpautoload
composer dumpautoloa
composer dumpautolo
composer dumpautol
composer dumpauto
composer dumpaut
composer dumpau
composer dumpa
composer dump
composer dum
composer du

直到composer d抛出

[Symfony\Component\Console\Exception\CommandNotFoundException]
命令"d"是模棱两可的(依赖,转储自动加载和1更多(。

如何解析命令?我知道dumpautoload被设置为别名以在此处dump-autoload作曲家源

class DumpAutoloadCommand extends BaseCommand
{
protected function configure()
{
$this->setName('dump-autoload')->setAliases(array('dumpautoload'))

此处composer/RootPackage.php源中的setAliases仅将别名分配给private $aliases;属性

public function setAliases(array $aliases)
{
$this->aliases = $aliases;
}

但是其他变体是如何解决的呢?

作曲家建立在symfony/console的基础上,搜索命令的代码位于SymfonyComponentConsoleApplication::find,可以在 https://github.com/symfony/console/blob/master/Application.php#L596 找到。基本上,所有注册的命令都会被检查,直到最短、清晰可辨的长度 - 因此使用similar_text的方法已经太复杂了;)

相关内容

  • 没有找到相关文章

最新更新