我想知道人们如何在ZF2中实现基本的CRUD的。
我已经使用 Doctrine ORM 玩了一两个星期,我拥有的最佳解决方案是实现一个实体类,然后实现一个表单类来匹配实体。
ZF2 没有一种很好的方法来从一个类似于 RoR 的地方管理所有这些吗?例如,如果我向我的实体添加一个新字段,我也不想在表单类中添加一个新字段。我什至不想为简单表单设置表单类。
我也尝试过注释,它们有些工作,但是当您的表单字段是相关实体时,它们似乎在获取对象管理器时存在问题。我发现了一个关于这个的 github 问题。
注释将是你获得one-for-all
解决方案的唯一方法。
就个人而言,我相当多地分离我的代码以遵循SoC原则(关注点分离)。我的实体有一个类。我有另一个表格类。另一个提供InputFilters和Validators的类,我也使用工厂类来实例化具有依赖关系的东西(如Doctrine Form Elements的EntityManager)。
我想最终归结为个人喜好。我认为我的方法比使用注释更干净一些。注释也慢一点,因为它们需要解析文件(再次,在实体生成器旁边),因此应考虑缓存。