[英]Adding a callback when reading from an object in Twig
假设我有一个称为Entity
的基本实体,该Entity
已映射到数据库表。 该实体具有两个属性: propertyA
和propertyB
。
尽管我们可以在这些属性中存储所需的内容,但该实体的一个特殊性是,当在带有entity.propertyB
的Twig模板上使用propertyB
的值时,我们希望系统地将该值截断为100个字符。
现在,这可以通过多种方式完全实现:
getPropertyB()
方法中截断该值; 由于这严格是显示规则,而不是我们实体的业务规则,因此第二种解决方案似乎是最好的恕我直言。 但是,这要求我们每次需要在模板中使用propertyB
的值时都应用过滤器。 如果不知情的开发人员过来,则该值可能不会被截断。
所以我的问题是:是否有一种方法可以注册某种回调,严格限制在包装我们实体的视图模型中,这将允许我们在其某些属性上即时应用一些过滤器?
由于您永远不需要访问超过100个字符的内容,因此可以在其设置程序中截断该属性。 这实际上并不会污染实体代码,因为这是其固有的逻辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.