美文网首页PHP
【TP5-06】读取器和修改器

【TP5-06】读取器和修改器

作者: Geeks_Chen | 来源:发表于2017-09-27 09:29 被阅读22次

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

    相关文章

      网友评论

        本文标题:【TP5-06】读取器和修改器

        本文链接:https://www.haomeiwen.com/subject/vufosxtx.html