将请求注入Symfony2实体

时间:2015-10-24 09:55:04

标签: php mysql symfony dependency-injection doctrine

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

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

ID | language | content_key | content_translation

一旦设置了_locale,我希望能够在实体级别传递它,以使模型层检索自己的内容(如果该内容是可翻译的内容之一,则再次调用转换表)一个)。

我尝试使用可翻译扩展,但由于它是一个预先存在的数据库和项目,因此它不是一种简单的方法。

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

非常感谢, 安德烈

1 个答案:

答案 0 :(得分:2)

我认为您使用Doctrine作为与Symfony2的ORM?

然后看看Doctrine Extensions。此捆绑包为您的实体提供不同的新行为。 它还有一个非常强大的translatable behavior

在Symfony2 is not so complicated中集成学说扩展。

如果您不能在您的代码/数据库中使用Doctrine Extensions,我会尝试Doctrine Event Listeners来开发您自己的可翻译行为。