>백엔드 개발 >PHP 튜토리얼 >PHP中的ORM的定义问题

PHP中的ORM的定义问题

WBOY
WBOY원래의
2016-06-06 20:33:551028검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.