Symfony:将服务注入用户对象



如何将服务注入当前用户对象?

使用当前用户对象,我的意思是:

//in controller
$user = $this->get('security.token_storage')->getToken()->getUser();
//later I want to do this in the user class: 
function getData() {
   $data = $this->getSomeData();//normal function
   $data += $this->getMyService()->getSomeMoreData();//invoke service function
}

这是非常糟糕的实践,因为您的实体类应该是仅负责操纵自己的数据的简单对象。

但是,如果您确定要这样做,则可以在用户类中创建容器属性并将其注入学说的Postlost事件,请参阅文档。

我会再次强调您不应该这样做。我以前已经看过这项工作,这导致了可以承担多个职责并且无法测试的过度复杂类。

最新更新