首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORM在CakePHP3中的工作原理

ORM在CakePHP3中的工作原理
EN

Stack Overflow用户
提问于 2015-10-07 10:26:49
回答 1查看 2.3K关注 0票数 0

我对如何在CakePHP3中有效地使用ORM创建代码感到困惑。

我在CakePHP2方面有两个月的经验,现在我想转到CakePHP3,但我对CakePHP3的一些基本知识感到困惑:

  1. ORM是如何在CakePHP3中工作的?
  2. CakePHP3如何比CakePHP2更有效?

我已经从官方的CakePHP站点上阅读了Cookbook 3.x,但我仍然感到困惑。

我对ORM这个概念很陌生。请帮助我了解ORM的基础知识,为什么我们在CakePHP3中使用它,以及如何使用ORM可以更有效,生成更少的代码?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-07 13:47:08

这包括了在文档中有一些细节 (重点是后加的):

CakePHP 3.0提供了一个新的ORM,它是从头开始重新编写的。虽然在1.x和2.x中使用的ORM为我们服务了很长一段时间,但它有一些我们想要解决的问题。

  • 弗兰肯斯坦-这是唱片还是桌子?目前两者都是。
  • 例如,不一致的API - Model::read()。
  • 没有查询对象-查询总是定义为数组,这有一些限制和限制.例如,它使得联合和子查询变得更加困难。
  • 返回数组--这是关于CakePHP的一个常见的抱怨,并且可能减少了在某些级别上的采用。
  • 没有记录对象-这使得附加格式化方法变得困难/不可能。
  • 可控制的-应该是ORM的一部分,而不是疯狂的恶意行为。
  • 递归-这应该被更好地控制为定义包含哪些关联,而不是递归级别。
  • DboSource --它是一只野兽,而且模型比数据源更依赖它。分离可以更干净更简单。
  • 验证-应该是分开的,它现在是一个巨大的疯狂的功能。使其成为一个可重用的位,将使框架更加可扩展。

CakePHP 3.0中的ORM解决了这些问题和其他许多问题,。纽约ORM现在关注的是关系数据存储。在未来,通过插件,我们将添加非关系存储,如ElasticSearch和其他。

这些文档还提供了关于ORM体系结构的更多细节,值得阅读和吸收。

如果您只花了一点时间使用CakePHP 3.0,那么好处可能并不明显,但是将表与实体分离使得类/方法的职责更加明显,并增加了以前模型层无法实现的灵活性。

了解new的好处的最好方法就是按设计使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32989804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档