Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 避免在Symfony 2控制器中多次定义服务_Php_Symfony - Fatal编程技术网

Php 避免在Symfony 2控制器中多次定义服务

Php 避免在Symfony 2控制器中多次定义服务,php,symfony,Php,Symfony,我的控制器中有多个函数,其中很多函数调用$usermgr=$this->get('usermanager')(其中usermanager是在config.yml中定义的服务) 这意味着代码会重复多次。有没有办法在控制器中只定义一次$usermgr?通常我会考虑一个结构,但我相信控制器是不可能的。 < P>在控制器中使用多个方法获得相同的服务并没有错。 您可以将控制器更改为服务(和),然后注入该服务。虽然这遵循了最佳实践,但您当前的方式并没有错 由于服务容器是在初始化之后设置的,因此不能使用Sym

我的控制器中有多个函数,其中很多函数调用
$usermgr=$this->get('usermanager')(其中usermanager是在config.yml中定义的服务)


这意味着代码会重复多次。有没有办法在控制器中只定义一次$usermgr?通常我会考虑一个结构,但我相信控制器是不可能的。

< P>在控制器中使用多个方法获得相同的服务并没有错。 您可以将控制器更改为服务(和),然后注入该服务。虽然这遵循了最佳实践,但您当前的方式并没有错

由于服务容器是在初始化之后设置的,因此不能使用Symfony base
Controller
类在构造函数中请求该服务