很多站长朋友们都不太清楚Php简述orm是什么,今天小编就来给大家整理Php简述orm是什么,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 orm是什么意思 2、 什么是ORM? 3、 PHP下做ORM的意义有多大? - 技术问答 4、 ORM是什么 5、 什么是ORM,以及在php上的使用 6、 简要论述对ORM模式的理解,并简述ThinkPHP中的ORM的基本原理。 orm是什么意思orm是object relational mapping的简称,对象关系映射它的出现是为了解决对象和关系型数据库不匹配的技术。
orm是使用描述对象和关系数据库之间映射的元数据,将java中的对象自动持久化到数据库中。orm是随着面向对象的软件开发方法发展而产生的。先进面向对象是主流的软件开发方法,而关系型数据库也是主流的数据存储数据库,但是面向对象的编程在内存对象之间存在关联和继承关系。
而在数据库中的数据无法直接表达多对多的关联和继承的关系所以orm一般充当的是中间件,主要实现程序对象到关系数据库的映射。目前来说实现orm的产品比较流行的是:Apache ojb开源。Oracle topLink商业。hibernate开源。Cayenne开源。iBatis开源。hibernate逐渐成为orm的主导,甚至有可能代替ejb出现。
概念:
对象关系映射,是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。
对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
什么是ORM?ORM是对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。
(ORM is Object Relational Mapping (ORM, or O/RM, or O/R Mapping), a programming technique used to transform data between different types of systems in an object-oriented programming language. In effect, it creates a "virtual object database" that can be used in a programming language.)
拓展资料
ORM的由来:面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。
参考资料:百度百科《ORM》
PHP下做ORM的意义有多大? - 技术问答考虑到各种因素,数据抽象层(DAL=Database
Abstraction
Layer)是必须的,ORM是实现手段之一。对于OOP来说,意义是巨大的,很多框架都以实现了ORM或ActiveRecord为特色。这个其实不论PHP还是其它语言以OOP思想开发都要考虑实现的。至于PHP实现ORM的效率和性能那又是另一个话题了。一句话概括:在以OOP为主导思想的PHP开发中ORM是必要的,只是存在以PHP实现效率问题。
ORM是什么对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping)
对象关系映射,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。
从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序员更倾向于创建自己的ORM工具。ORM相当于中继数据,对象关系映射成功运用在不同的面向对象持久层产品中。
ORM框架
常见的ORM框架有:Hibernate、iBatis 等。Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL的自动生成和执行。
Mybatis:主要着力点在于 POJO 与 SQL 之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定 POJO 。
相对Hibernate“O/R”而言,Mybatis 是一种“Sql Mapping”的ORM实现。
以上内容参考:百度百科-对象关系映射
什么是ORM,以及在php上的使用ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中
简要论述对ORM模式的理解,并简述ThinkPHP中的ORM的基本原理。RM:object relation mapping,即对象关系映射,简单的说就是对象模型和关系模型的一种映射。为什么要有这么一个映射?很简单,因为现在的开发语言基本都是oop的,但是传统的数据库却是关系型的。为了可以靠贴近面向对象开发,我们想要像操作对象一样操作数据库。
举个例子:获取一篇文章,传统的方式先要执行一个sql检索数据
select * from post where id = 1
然后输出标题和内容使用
echo $post['title']; echo $post['content'];
在thinkphp中,就解决了这个问题,其原理也很简单:
$post = postTable::getInstance()->find(1);#会再内部执行select * from post where id = 1
然后输出:
echo $post->getTitle();
echo $post->getContent();
妈妈再也不用担心我的强迫症了^_^
高级点的应用,文章和分类是一对多关系、文章和标签是多对多关系
$cate = $post->getCategory(); //获取文章分类
echo $cate->getName(); //获取分类名
$tags = $post->getTags(); //获取一个文章的所有标签
使用方法更是简单,比如:
$list = M()->where()->field()->order()->find()/select()/getField(),等等,在其手册中可以很容易找到,也很容易使用。
关于Php简述orm是什么的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于Php简述orm是什么 php option的详细内容...