php - Doctrine 2 在 MVC ZF2 环境中扮演什么角色?

标签 php doctrine-orm zend-framework2

我正在尝试结合 Doctrine 2 自学 ZF2。我已经成功完成了 Zend 网站上的相册教程和博客教程。现在我正在尝试返回并将博客教程转换为使用 Doctrine 2。我相信我已经成功地为 Doctrine 设置了我的配置并使用 DI 将其放入我的 Controller (WriteController.php)中,因为我能够转储它的内容在我的行动中。只要我不对它做任何事情,我就不会收到任何错误。

我的问题是 Doctrine 在博客教程中讲授的 Controller -> Service -> Mapper -> Backend 分层结构中起什么作用? ( Reference To what I mean )

另外,我假设 Backend 指的是我的模型。这是正确的吗?

我是否可以将所有对 /Blog/Model/Post 的引用替换为 /Blog/Entity/Blog

最佳答案

Doctrine 是Mapper。也许我们也可以说服务(通过 EntityRepository)。但通常您会创建自己的服务层。

Backend 不是它自己的实体。实体以一种方式映射后端的几种选择。作为后端,您可以了解关系数据库(Mysql、SqlServer、Oracle 等)、NoSql 数据库(如 MongoDB)、文件系统等的几个选项。

我不明白你最后一个问题。但是当我使用 Doctrine 时,我总是在/MyModule/Entity 命名空间中创建我的实体。当我使用标准的 Zend/Db 时,我总是在/MyModule/Model 中创建。我通过标准化事情来做到这一点。

关于php - Doctrine 2 在 MVC ZF2 环境中扮演什么角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33697175/

相关文章:

symfony - 如何验证 Symfony 2 中至少一个元素(或 N 个元素)的选择?

php - ZF2 如何在 View 中使用全局变量

php - Apigility 中的水化器设置被忽略

php - 重定向到路由在 Zend Framework 中不起作用

php - 从其他网站捕获搜索数据

javascript - DatePicker、FullCalendar 和 MySQL 事件日期最终缩短了一天

cakephp - 无法关闭 MAMP 中的严格标准警告

javascript - Jquery AJAX 不传递 "POST"数据

php - 在 Doctrine 2 中手动生成下一个序列值

php - 如何在 Symfony 中设置数据转换器以重用现有实体?