Home >Backend Development >PHP Tutorial >PHP中的ORM的定义问题

PHP中的ORM的定义问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 20:33:551060browse

ORM(对象关系映射) 是 对 内存中对象 与 关系数据 的映射,在JAVA的hibernate可以理解 都是对象的操作,可是PHP的ORM 大多采用链式操作(其实就是拼接下字符串),最后一个操作会执行语句,相当于在代码里面拼接了一个SQL,那么 为什么还叫ORM 对象关系映射 对象,表现在什么地方呢?

回复内容:

ORM(对象关系映射) 是 对 内存中对象 与 关系数据 的映射,在JAVA的hibernate可以理解 都是对象的操作,可是PHP的ORM 大多采用链式操作(其实就是拼接下字符串),最后一个操作会执行语句,相当于在代码里面拼接了一个SQL,那么 为什么还叫ORM 对象关系映射 对象,表现在什么地方呢?

你这个问题问得有点儿太模糊了,Java里面你指出了 Hibernate,但是问题却是说的是PHP,首先,一个是Java的框架,一个是一门语言。

正题:

你所说的链式操作只是为了方便最终构建SQL,

<code>class Foobar {
  public function query() {
    return $this
  }
}
</code>

这里面 query() 就会返回对象自己,这就可以实现链式操作,但是这和ORM有毛关系?对象 foobar ,对应数据表 foobar,这不就是ORM了么?中间怎么实现了有啥关系?

题主或者题主看的资料搞混了DBAL/DAO和ORM

粗暴地说,”拼接查询“的是DBAL,将数据记录映射为对象的是ORM

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn