コントローラでは、$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]
に以下の行を追加して、あなたのコントローラーますCクラスにアクセスする、
$this->get('my_service');
$これはコントローラ/ビューでのみ動作します。私はライブラリ/他のクラスからコントローラを取得する必要があります。これを行う方法? – RKI
クラスをサービスコンテナとして定義し、 '@ translator'サービスを注入する必要があります。 [here](http://symfony.com/doc/current/book/service_container.html#referencing-injecting-services) –
私の編集したコメントをご覧ください。 –