在我的Symfony2项目中,我有一个ModelBundle,它包含我的实体,以及使用该ModelBundle的前端,后端等的其他包。
我有几个特定于模型的函数,可以执行某些特定于实体的任务。 我在哪里放这些?
P.S。:我喜欢Symfony2,但是当每个人都有一套明确的框架最佳实践时,我会非常高兴: - )
答案 0 :(得分:1)
了解您计划编写的特定于模型的函数类型会很有帮助。
如果该功能适用于您已从数据库中获取的实体,则它属于实体类。
如果功能与根据特定条件查找实体或实体组有关,则它属于自定义存储库类。
我不认为模型类和实体类应该是不同的。恕我直言,这是一个不必要的抽象层次。
您认为此功能不属于控制器是正确的。
如果您使用自定义存储库,我建议将它们保存在“Entity”文件夹或“Repository”文件夹中。我个人保留在“实体”中,但这可能是长期使用Doctrine 1并被用于'Table'类的副作用。
我希望这会有所帮助,但如果您有任何疑问,请发布您希望实现的更多细节。