将请求注入Symfony2实体


Inject request into Symfony2 Entities

我有一个Symfony2项目,今天我被要求将它国际化。

我有几个MySQL实体和新的翻译内容,我想把它们放在一个表中,包含:

ID | language | content_key | content_translation

一旦设置了_locale,我希望能够在实体层传递它,以便使模型层检索内容本身(如果该内容是可翻译的内容之一,则对翻译表进行第二次调用)。

我试图使用可翻译的扩展,但由于它是一个预先存在的数据库和项目,这不是一个容易的方法来追求。

我如何将请求(或仅传递_locale)注入到我的实体?

非常感谢。安德里亚

我想你正在使用Doctrine作为Symfony2的ORM ?

然后看看学说扩展。这个bundle为你的实体提供了不同的新行为。它还有一个可翻译的行为,这真的很强大。

在Symfony2中集成学说扩展并不那么复杂。

如果你不能在你的代码/数据库中使用Doctrine扩展,我会尝试Doctrine事件监听器来开发你自己的可翻译行为。