很多站长朋友们都不太清楚phporm是什么,今天小编就来给大家整理phporm是什么,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php除了mvc还有什么架构 2、 简要论述对ORM模式的理解,并简述ThinkPHP中的ORM的基本原理。 3、 ORM解决的主要问题是什么 php除了mvc还有什么架构MVC
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。
OOP
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是,计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。OOP 主要有以下的概念和组件:
组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。
抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。
继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。
由于抽象性、封装性、重用性以及便于使用等方面的原因,以组件为基础的编程在脚本语言中已经变得特别流行。
ORM
对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。
简要论述对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(),等等,在其手册中可以很容易找到,也很容易使用。
ORM解决的主要问题是什么ORM:对象关系映射(Object Relational Mapping,简称ORM),目的是想像操作对象一样操作数据库.因为数据库不是面向对象的,所以需要编程进行映射.
常见的ORM框架有hibernate,半自动orm框架有mybatis,还有新的简单易用的bee框架. jpa只是想让所有的orm框架都统一使用的标准接口; hibernate有实现jpa,但mybaits没有.
用hibernate和mybatis,每次操作一个表,都需要编写一次dao文件,感觉做些重复工,好枯燥无味。 Bee框架:一个十分钟即可学会的ORM框架。它不用每写一个dao就要编写一次代码,省时省力,开发效率极高,编码复杂度为O(1).一个开发成本和开发速度都不比php差的java ORM框架。
关于phporm是什么的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phporm是什么 php啥意思的详细内容...