0

我创建了一个自定义命令:

class CrawlCommand extends ContainerAwareCommand{

    protected function configure(){
        $this->setName('crawler:crawl')
             ->setDescription('Command for crawling content');    
    }

    protected function execute(InputInterface $input, OutputInterface $output){
        $msg = 'hello';
        $output->writeln($msg);
    }
}

请告诉我,如何在执行功能中执行操作?行动呼吁CrawlerBundle:Index:index。没有服务,只需像浏览器一样运行操作。

4

1 回答 1

0

如果您想直接从命令调用操作 - 这意味着它有问题。在控制器中,您应该尽可能少地实现逻辑,您应该创建服务并将逻辑放在那里。

有几个原因,例如。这样单元测试就更容易了,你的代码也更清晰易读。此外,在您的 CrawlCommand 案例中使用服务非常简单。

于 2012-08-17T12:54:27.083 回答