我试图将许多服务添加到Controller的构造中但没有成功。
class PersonController extends Controller
{
public function __construct(UtilityService $Utils)
{
$this->util = $Utils;
}
public function indexAction()
{
...
}
}
我必须遵循的道路是什么?
答案 0 :(得分:2)
您需要在PersonController
中将services.yml
控制器定义为服务并向其注入UtilityService
:
# src/Acme/HelloBundle/Resources/config/services.yml
parameters:
# ...
person.controller.class: Acme\HelloBundle\Controller\PersonController
services:
person.controller:
class: "%person.controller.class%"
arguments: ["@UtilityService"]
其中:
arguments
中的答案 1 :(得分:1)
在this post中提及@Cerad:
诀窍是将控制器定义为服务,然后使用服务ID而不是类名。
http://symfony.com/doc/current/cookbook/controller/service.html