2013-07-29 31 views
0

我正在使用一些非控制器脚本为某些ajax表单等提供数据。由于性能原因,因为控制器开销非常高。不过,我想这样做基于当前用户的一些工作,所以想体重最轻的方式来获得用户..在symfony中获取当前用户的轻量级方法

  1. 我看到约100 - 150毫秒响应时间的控制器无所事事,只是服务一个观点,这是正常的吗?我的基本PHP脚本从数据库中获取数据,并返回只有2 - 5毫秒

  2. 外面的控制器上下文,我如何获取当前登录的用户?

回答

1

注入security.context服务为您服务,并使用它:

$user = $this->sc->getToken()->getUser(); 
+0

嗯,这将需要它是一个服务,这是不能直接调用我相信..即:必须从控制器调用,有没有办法在控制器之外做到这一点? –

+1

其他一切都应该是symfony中的一项服务。任何(公共)服务都可以从控制器中调用。任何服务都可以注入任何其他服务。阅读[服务容器](http://symfony.com/doc/current/book/service_container.html) –