PHP

【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属性。

上一篇 下一篇

猜你喜欢

热点阅读