如何将服务注入当前用户对象?
使用当前用户对象,我的意思是:
//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事件,请参阅文档。
我会再次强调您不应该这样做。我以前已经看过这项工作,这导致了可以承担多个职责并且无法测试的过度复杂类。