symfony2类和存储库体系结构

用户名

我在symfony2中构建一个应用程序只是为了更好地了解它是如何工作的。我的问题是我不确定在哪里放置一些类,例如:我有一个类别实体和一个类别存储库,以及一个控制器,用于管理我在其中使用仓库查询存储库的类别(如何在食谱中进行解释)

$category = $this->getDoctrine()->getRepository()

现在我正在使用博客控制器,我想显示一个表单(例如在编辑模式下),因此我必须查询博客存储库,但是我还需要再次查询类别存储库以允许选择类别。

我认为在控制器中查询2个不同的存储库不是一个好主意,有人可以建议我如何组织此类,以避免在我需要它们的所有操作中实例化所有存储库吗?关于如何组织代码还有其他有用的建议吗?谢谢

贾斯珀·布劳维尔(Jasper N. Brouwer)

在单个控制器中调用2个(或更多)存储库的方法没有错。

但是在您描述的场景中,表单组件将以查询类别以供选择的情况。我建议您在该文档中深入研究提示:实体字段类型

一些忠告

您可能知道“意大利面条代码”是什么,但是也有相反的说法:烤宽面条代码”:您得到的类支柱并不能真正协同工作。

您可以为用户提供一个支柱(UserEntity,UserRepository,UserService和UserController),为博客发布提供一个支柱(BlogPostEntity,BlogPostRepository,BlogPostService和BlogPostController),等等。

这也是您宁愿不要创建的东西,因此建议将意大利面条和烤宽面条很好地混合在一起;)

尝试让服务代表您的业务需求/业务领域(或Domain)。控制器不过是客户端(浏览器等)与您的服务之间的连接器。存储库只是技术细节(不是您的重点)。

PS:一点校正

您应该更改此:

$category = $this->getDoctrine()->getRepository();

对此:

$categoryRepository = $this->getDoctrine()->getRepository('Category');

从长远来看,这对您来说不会太令人困惑。例子:

$categoryRepository = $this->getDoctrine()->getRepository('Category');
$category = $categoryRepository->find(123);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Symfony 2体系结构-最佳实践

如何从MVVM体系结构中的Web服务的存储库类与活动/片段进行通信

具有MVC4 EF和存储库模式的N层体系结构

存储库模式和工作单元中的体系结构问题

Node JS wirh控制器,服务和存储库中的体系结构

Android体系结构组件:如何插入存储库参数

在插件体系结构的类库中处理异常

可扩展的数据库技术和体系结构

数据库体系结构的最佳方法主要集中于按年和按月同时存储不同字段的数据

Togaf 9.1:体系结构存储库和企业连续性之间有什么区别?

Symfony2中的自定义存储库类

使用存储库模式的具有多个数据源的体系结构

Android体系结构组件:如何通过ViewModel观察存储库中的LiveData

MVC体系结构中的模型/业务层/数据访问与存储库有什么区别?

如何从缺少某些体系结构的存储库中安装软件包?

NSOperations和iOS体系结构问题

Gitlab和Gitlab Runner的体系结构

使用Agner的Vector类库编译多体系结构代码

android-模型类android体系结构中的会议室数据库连接

用于存储和检索Web应用程序大文件的体系结构

数据库和前端之间的独立API访问层的体系结构

iOS解压缩库和arm64体系结构

识别开源应用程序的体系结构和库

kappa体系结构和lambda体系结构有什么区别

Symfony2 DoctrineMongoDBBundle:创建存储库类后得到空结果

数据库体系结构:多种类型关系

识别 nsswitch 库的体系结构相关位置

Xcode-缺少体系结构(库链接)

python-dev:如何更改库体系结构