在Console命令中调用控制器/操作

时间:2013-08-05 16:14:23

标签: php symfony controller symfony-process

我想从LinkedIn导入数据并将其保存在我的数据库中。我希望在后台运行。

所以我创建了一个控制台命令。但是,如何在控制台命令中调用控制器/操作,以便导入和保存事务可以在后台的控制台命令中运行?

2 个答案:

答案 0 :(得分:4)

我不知道您的应用程序的结构是什么,但是如果您想允许命令运行控制器执行的操作,那么通常的方法是在服务中使用两者控制器和命令可以访问。

通过使用ContainerAwareCommand,您可以为命令实例提供对服务容器的访问权限,从而为服务提供访问权限。默认情况下,控制器可以访问服务容器。

当设计为独立时,尽量避免陪审团将部分应用程序绑定在一起。让他们访问相同的服务,但让他们分开。

答案 1 :(得分:0)

感谢Flosculus和sensi帮助了我很多。 为了实现我的目标,我首先在登录时添加一个事件监听器。http://dev.dbl-a.com/symfony-2-0/how-to-add-a-symfony2-login-event-listener/ 然后我添加一个进程,使其在后台工作 http://symfony.com/doc/master/components/process.html