有什么方法可以以某种方式预处理控制器数据。我将从会话中获取param,验证它并将其指定为控制器属性,并将其用作$ this-> myVar在某些控制器的操作中,或者在可能的情况下全部使用它们。使用控制器的构造函数什么也不给我,我无法访问请求和会话数据。谢谢!将定制属性添加到所有symfony2控制器
UPD: 谢谢,jkucharovic,非常好的解决方案。 此外还有一个更肮脏的解决方案,没有注入:setContainer()方法,它已被直接调用$ controller = new Controller();
use Symfony\Component\DependencyInjection\ContainerAwareInterface,
Symfony\Component\DependencyInjection\ContainerInterface;
class AppServiceController extends Controller {
private $my_property;
/**
* Used as constructor
*/
public function setContainer(ContainerInterface $container = null)
{
parent::setContainer($container);
$this->my_property = 'foo';
// your controller code
}
}
我可以得到一些细节吗? – Tauquir
当然:-_)_ – jkucharovic
嗨。我正在使用Symfony2.5并且很新。当我实现你的答案时,我得到以下错误:可捕获的致命错误:传递给Fried \ FrameworkBundle \ Controller \ SectionController :: __ construct()的参数1必须是Symfony \ Component \ HttpFoundation \ Request的实例,没有给出。我相信我可能不得不通过这些路线。我可能错了。你能指导我怎么能通过控制器中的这两个变量?谢谢。 – Nis