2012-04-12 104 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

相关问题