2013-07-29 26 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) –