-1

コアの翻訳コンポーネントをオーバーライドするために Symfony2 Bundle 継承機能を使用したいと考えています。先に進む前に、それについてアドバイスをしたいと思います。することは可能ですか?

4

1 に答える 1

2

Symfony2 にはbundlesをオーバーライドする簡単な方法がありますが、Translation Componentをオーバーライドしたい場合があります(バンドル、コンポーネント、およびブリッジの違いについての詳細は、この回答を参照してください)。

翻訳コンポーネントをオーバーライドする場合は、依存関係の挿入を利用できます。Symfony2 フレームワークが翻訳を使用する場合、翻訳サービスの 1 つを使用します。したがって、必要に応じてオーバーライドする必要がある場合は、翻訳サービスを編集してください。すべての変換サービスとパラメータは にありますvendor/symfony/src/symfony/bundle/frameworkbundle/resources/config/translation.xml

Symfony がサービスとして使用したすべてのクラスをパラメーターとして保存していることがわかります。パラメーターを必要なクラス名に変更するだけで準備完了です!

たとえば、Translator. Acme\DemoBundle\Translation\Translator少なくとも拡張するクラスを生成し、Symfony\Component\Translation\TranslatorInterfaceこれをサービス構成に追加できます。

parameters:
    translator.class: Acme\Demobundle\Translation\Translator
于 2013-01-04T22:29:02.330 に答える