感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
Console组件在没有提供命令名字时,始终使用ListCommand
。为了改变这个默认命令,你只需传入命令的名字到setDefaultCommand
方法中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | namespace Acme\Console\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class HelloWorldCommand extends Command
{
protected function configure()
{
$this->setName('hello:world')
->setDescription('Outputs \'Hello World\'');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$output->writeln('Hello World');
}
} |
执行application程序,改变默认命令:
1 2 3 4 5 6 7 8 9 10 | // application.php
use Acme\Console\Command\HelloWorldCommand;
use Symfony\Component\Console\Application;
$command = new HelloWorldCommand();
$application = new Application();
$application->add($command);
$application->setDefaultCommand($command->getName());
$application->run(); |
运行以下代码,测试默认的console命令:
1 | $ php application.php |
这时会输出如下结果到控制台:
1 | Hello World |
这个功能有一个局限:你不能把它同任何命令参数(Command arguments)一起使用。
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。