为了账号安全,请及时绑定邮箱和手机立即绑定

Thinkphp5中模型的理解

标签:
ThinkPHP

ORM

对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序员更倾向于创建自己的ORM工具。
面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。
简单的说:ORM相当于中继数据。具体到产品上,例如下边的ADO.NET Entity Framework。DLINQ中实体类的属性[Table]就算是一种中继数据。

简单说

在不同数据当中如何做到转换,其实就是只要数据,不要结构,数据和数据一一对应即可。

模型

TP5里的模型是针对数据库表说的,我们不必去写CURD的SQL语句,而专注于操作数据库里的内容。所以当把数据库表当一个对象看待,继承了model之后,我就像操作数组一样来操作数据库。
图片描述

<?php
namespace app\index\controller;

//导入模型类
use app\index\model\Staff;

class Index {
  public function index(){ 

  	//创建模型类Staff
  	$model = new Staff();

  	//查看Staff类实例$model
  	dump($model);
  
  }
}

优点

让程序员们专注于处理数据,而不是写花式的SQL,因为不同数据库的SQL语法有所差异,无法做到很好的移植,但是使用模型,让我们只关注数据的处理,而不需要因为数据库的更换而修改SQL。

总结

其实不止TP5,其他高度整合的框架,也有这个样的概念,为了更好更方便的操作数据库,干脆把数据库就当一个数组看待,例如.net core里操作数据库完全就是操作数组。所以以后的框架对SQL的要求也会越来越高,灵活度也会相对自由。
只是我蛮讨厌TP5里面的箭头的,一个等于号加一个大于号,敲起来很不舒服,总感觉别扭。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
30
获赞与收藏
154

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消