好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

Php简述orm是什么 php option

很多站长朋友们都不太清楚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的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did208413
更新时间:2023-05-03   阅读:30次

上一篇: dwphp修改 怎么修改dw模板内容

下一篇:大公司php面试 php面试技巧

最新资料更新

  • 1.php部署云空间 php云开发
  • 2.php求数组个数 php求数组的和
  • 3.php教务系统网页设计 php教务系统网页设计方案
  • 4.php菱形的输出 php输出菱形星号
  • 5.php判断多个字符串 php判断字符串包含字符
  • 6.php语法基础csdn php语言基础
  • 7.登录htmlphp 登录html
  • 8.基于PHP日记网站 phpstudy网站日志
  • 9.mac安装php扩展 mac系统安装php环境
  • 10.php接收url php接收json数据
  • 11.破解php登录才能查看 破解php登录才能查看吗
  • 12.php事务的隔离级别 php事务处理
  • 13.php代码修改按钮大小 php内容修改
  • 14.phpisset多个值 php __set __get
  • 15.php登陆检测 php登录原理
  • 16.php数字语音播报 php语音转文字
  • 17.哈希mapphp 哈希map和哈希table区别
  • 18.铜仁php招聘信息 铜仁工作招聘信息
  • 19.phpmysql当天 mysql 当天
  • 20.php7性能tu Php性能

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]