Symfony 我可以知道我在哪里运行服务';方法,从控制器还是从命令?

Symfony 我可以知道我在哪里运行服务';方法,从控制器还是从命令?,symfony,Symfony,我能做这个吗?我只是不想为此传递额外的参数。我希望命令(在db中执行一些回显和写入)和控制器(仅写入db)的行为没有什么不同。好吧,我可以在我的service RequestStack实例中插入: active_mq: class: Foo\BarBundle\DependencyInjection\ActiveMQ arguments: - "@service_container" - "@doctrine.orm

我能做这个吗?我只是不想为此传递额外的参数。我希望命令(在db中执行一些回显和写入)和控制器(仅写入db)的行为没有什么不同。

好吧,我可以在我的service RequestStack实例中插入:

active_mq:
        class: Foo\BarBundle\DependencyInjection\ActiveMQ
        arguments:
            - "@service_container"
            - "@doctrine.orm.entity_manager"
            - "@request_stack"
除此之外:

$currentRequest = $this->request->getCurrentRequest();
如果$currentRequest为空,则为命令,否则为控制器