Thinkphp5学习(14)读取器和修改器

时间:2022-09-24 15:46:11

学习内容及参考:
视频教程:
https://www.kancloud.cn/tpshop/thinkphp5/228855
完全开发手册:https://www.kancloud.cn/manual/thinkphp5/135192
教程中的代码:https://github.com/phpervip/tp5a

-读取器
-修改器
-转换
-自动完成

模型里写:

<?php
// application/index/model/User.php

namespace app\index\model;
use think\Model;

class User extends Model
{

// 定义类型转换,这样就不用读取器,修改器
// protected $dataFormat = 'Y/m/d';
protected $type=array(
'reg_time'=>'timestamp:Y-m-d',
'nickname'=>'serialize'
);

// 定义自动完成的属性
protected $insert = ['status'=>1];
//protected $update = ['status'=>1];

// 还可以结合修改器来指定自动完成
protected function setSexAttr($value,$data){
return $data['head_pic']=='boy.jpg'?1:0;
}

// 自动完成 insert update auto
protected $update = array(
'sex' =>0
);

public function getRegTimeAttr($value,$data){
return date('Y-m-d',$value).$data['nickname'];
}

public function setRegTimeAttr($value){
return strtotime($value);
}

}

控制器里写:

public function index2(){
// 读取器,修改器
$user = User::get(1);
echo $user->reg_time;
$user->reg_time = '2017-06-09';
$user->save();
$user = User::get(1);
echo $user->reg_time;
}

最后给大家介绍一个很好的代码调试方法:

php代码断点调试逐行追踪

大神是写出来的!
学习改变命运,技术成就梦想!
愿你早日成为技术高手!