model类研究
仅做开发笔记,若有不足之处,请指出
- 简介
我们都知道thinkphp5增删改查的函数返回的都是模型对象
他与tp3.2是有区别的,现在主要研究该模型的运行机制和调用方法。
那么问题来了:
为什么数据可以通过数组或者对象调用方式进行获取数据?
探究魔法变量__get、__set、__isset、__toString还有tp5的getData方法。
参考: PHP中__get()和__set()的用法实例详解
PHP实现对象属性按数组方式访问
- 实例解释
<?php
namespace app\index\controller;
use app\common\model\Users;
class Index
{
//对象可以通过数组形式获取数据
public function testObj()
{
//获取用户ID为124
$res = Users::get(124);
//由于model接口ArrayAccess->自动调用offsetGet()将调用数组的键作为参数,若不传键则会返回全部数据getData();
//使用数组形式调用对象
echo $res['id'];//offsetGet()->getData('id');
echo $res->id; //_get->getData('id')
if(isset($res['id'])); //调用魔法变量isset
if($res['id']); //调用魔法变量isset
echo $res; //自动调用__tostring
}
}
?>
于此为记
参考文献:http://blog.csdn.net/qq_15096707/article/details/62227624