2012-04-12 92 views

回答

1

在你的控制器中,你可以做$this->get('translator')。更多信息here。雖然沒有理解控制器部分。

編輯:

樣品服務實現會,

在你的類

namespace Your\Class\Namespace; 
use Symfony\Component\Translation\TranslatorInterFace; 
use Symfony\Component\HttpFoundation\Request; 


class YourClass 
{ 

    private $translator; 
    private $request; 

    public function __construct(TranslatorInterFace $translator, Request $request) 
    { 
     $this->translator = $translator; 
     $this->request = $request; 
    } 

    public function aMethod(){ 
     $translator->trans('key'); 
     $session = $this->request->getSession(); 
    } 
    //..... 
} 

添加按照services.yml

my_service: 
    scope: request 
    class: FQCN\Of\YourClass 
    arguments: [@translator, @request] 

線,那麼你的控制器,你Ç一個訪問類使用,

$this->get('my_service'); 
+0

$這隻適用於控制器/視圖。我需要從庫/其他類獲取控制器。這個怎麼做? – RKI 2012-04-12 13:09:05

+0

您必須將該類定義爲服務容器並注入'@ translator'服務。見[這裏](http://symfony.com/doc/current/book/service_container.html#referencing-injecting-services) – 2012-04-12 13:14:13

+0

看到我編輯的評論。 – 2012-04-12 13:24:05

相關問題