在具有许多类似项目的TYPO3 8.7 extbase扩展中,我有一个BaseRepository,该扩展针对每个项目进行了扩展。因此,所有项目将共享这些方法。在我看来,这是一种很好的做法。
我想知道是否也建议并可能在模型中使用BaseEntity之类的东西,其中最终属性将由最终模型类定义并继承通用属性的属性,获取器和设置器?还是没有意义?
答案 0 :(得分:2)
是的,即使模型不太相似,我也经常使用它。
像这样,将某些函数应用于控制器/模型或存储库中的所有类总是很容易的。
因此,您可以从自己的抽象模型类扩展所有模型,从抽象存储库类扩展所有存储库,并从抽象控制器类扩展所有控制器。
自己的抽象类扩展了相应的extbase通用类。
如果即使使用空的抽象类也总是这样,那么以后再应用任何函数总是很容易的。
与模型对象有关,必须考虑可能存在值对象和实体对象。因此,如果同时使用两种类型,则可能需要为每种类型定义一个自己的抽象类。