【TP5-06】读取器和修改器
2017-09-27 本文已影响22人
Geeks_Chen
1、读取器
对于模型中的数据,每次在读取后需要再处理的情况,这个时候使用读取器在模型中一次性处理,一方面使代码简介,另一方面稍提高性能。比如对时间的处理,对金额的处理,对性别的处理等。
2、给模型添加读取器
<?php
namespace app\index\model;
use think\Model;
class User extends Model
{
// birthday读取器
protected function getBirthdayAttr($birthday)
{
return date('Y-m-d', $birthday);
}
}
说明:读取器的命名规范:get+属性名的驼峰命名+Attr。getBirthdayAttr 读取器读取的是birthday 属性。
3、修改器
由于birthday属性是时间戳格式,在写入数据表前进行时间戳转换。可以定义修改器来自动处理
<?php
namespace app\index\model;
use think\Model;
class User extends Model
{
// 读取器
protected function getUserBirthdayAttr($birthday, $data)
{
return date('Y-m-d', $data['birthday']);
}
// birthday修改器
protected function setBirthdayAttr($value)
{
return strtotime($value);
}
}
说明:修改器命名规范:set+属性名的驼峰命名+Attr ,setBirthdayAttr 方法修改的是birthday属性。