zoukankan      html  css  js  c++  java
  • AR模式

    AR模式

    在ThinkPHP框架中,一共存在两种操作模式:ORM模式与AR模式

    ORM模式:① 实例化模型 ② 创建数据对象组装数组 ③ 调用相关方法执行相关操作

    AR模式:① 实例化模型 ② 把数据映射到模型属性 ③ 调用相关方法执行相关操作

    1、AR模式

    • 表映射到类
    • 字段映射到属性
    • 记录映射到对象

     

    使用PHP代码模拟AR模式

    ① 设计数据库

    ② 创建UserModel.class.php模型,映射tk_user表

    ③ 把字段映射到模型中的属性

    ④ 把记录映射成对象

    在实际项目开发中,虽然以上代码可以完成AR模式,但是还存在一些小问题。面向对象强调封装特性,不要暴露过多的信息给类外,改正以上代码如下图所示:

    以上代码虽然解决了封装性,但是在类的外面我们就没有办法直接调用其属性了,那么该如何解决呢?

    答:采用JavaBean思想,可以为每一个私有属性定义两个公有方法对其进行设置与获取。

    但是以上代码如果具有多个私有属性,那么必须要封装多个公有方法,过于麻烦。为了解决这个问题,在PHP5.0之后引入了两个魔术方法__set()与__get()方法来解决。

    2、ThinkPHP中的AR模式

    ① 实现增加操作

    ② 实现删除操作

    ③ 实现更新操作

    ④ 实现查询操作

    问题:我们根本就没有在模型中定义过任何与字段同名的属性,为什么还可以直接操作呢?

  • 相关阅读:
    条件分支if与else的用法小结
    Pandas的loc,iloc与ix的用法及区别
    决策树参数介绍
    列表,元组,字典三种序列之浅谈
    今日浅谈循环 for与while
    电脑重生
    学而201105期蘑菇班学员成绩单(高级)
    悬赏公告
    学而201005期蘑菇学员成绩单
    学而201011期蘑菇班学员成绩单
  • 原文地址:https://www.cnblogs.com/nyxd/p/5366320.html
Copyright © 2011-2022 走看看