PHP中的ORM的定义问题
程序员文章站
2022-05-15 12:09:11
...
ORM(对象关系映射) 是 对 内存中对象 与 关系数据 的映射,在JAVA的hibernate可以理解 都是对象的操作,可是PHP的ORM 大多采用链式操作(其实就是拼接下字符串),最后一个操作会执行语句,相当于在代码里面拼接了一个SQL,那么 为什么还叫ORM 对象关系映射 对象,表现在什么地方呢?
回复内容:
ORM(对象关系映射) 是 对 内存中对象 与 关系数据 的映射,在JAVA的hibernate可以理解 都是对象的操作,可是PHP的ORM 大多采用链式操作(其实就是拼接下字符串),最后一个操作会执行语句,相当于在代码里面拼接了一个SQL,那么 为什么还叫ORM 对象关系映射 对象,表现在什么地方呢?
你这个问题问得有点儿太模糊了,Java里面你指出了 Hibernate,但是问题却是说的是PHP,首先,一个是Java的框架,一个是一门语言。
正题:
你所说的链式操作只是为了方便最终构建SQL,
class Foobar {
public function query() {
return $this
}
}
这里面 query() 就会返回对象自己,这就可以实现链式操作,但是这和ORM有毛关系?对象 foobar ,对应数据表 foobar,这不就是ORM了么?中间怎么实现了有啥关系?
题主或者题主看的资料搞混了DBAL/DAO和ORM
粗暴地说,”拼接查询“的是DBAL,将数据记录映射为对象的是ORM
上一篇: php怎么去除小数点后面的0
推荐阅读
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
解决JavaEE开发中字符编码出现乱码的问题
-
Vue中android4.4不兼容问题的解决方法
-
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
-
Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享
-
php从数据库中获取数据用ajax传送到前台的方法
-
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
-
js中的深浅拷贝问题简析
-
php 中phar包的使用教程详解