Symfony2:放置"预设"和" post-get"实体方法?

时间:2014-04-14 20:40:41

标签: entity-framework symfony orm doctrine entity

我有三个不同的实体属性,必须在它们保存在数据库之前进行“预解析”。 在向用户显示之前,必须对“相同属性”进行“后解析”。

有几种不同的控制器操作正在设置/获取这些属性。目前,我在每种方法中都基本上预先分析/预分配了这些属性。

我应该如何处理?我正在考虑将它直接放入实体,但这不是那个地方。特别是因为我需要在几个实体中使用相同的预解析函数。

基本上这些函数必须在每个setter和getter调用之前运行。

2 个答案:

答案 0 :(得分:0)

您可能需要查看数据转换器 - http://symfony.com/doc/current/cookbook/form/data_transformers.html

<强>更新

另一种,也许是最合适的方法是使用Doctrine EventListenerEventSubscriber

http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html

在您的情况下,您需要收听/订阅prePersistpreUpdatepostLoad个事件。

答案 1 :(得分:0)

如果您有一个生成模型代码的t4模板,那么更改属性设置器/获取器以进行数据预处理和后处理相对容易。

相关问题