我尝试将许多服务添加到控制器的结构中,但没有成功。
class PersonController extends Controller
{
public function __construct(UtilityService $Utils)
{
$this->util = $Utils;
}
public function indexAction()
{
...
}
}
我应该走哪条路?
services.yml
中将您的PersonController
控制器定义为服务,并注入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
中的UtilityService是你想要注入的服务名称正如@Cerad在这篇帖子中提到的:
诀窍是将您的控制器定义为服务,然后使用服务ID而不是类名。
http://symfony.com/doc/current/cookbook/controller/service.html
PersonController
定义为一个服务。 - Victor Bocharsky