getter\setter方法来设置读取内容和赋值内容

getter和setter方法以get、set开头,后面跟的就是属性的名字,如getLabelphp

定义好方法后,就能够像普通属性同样使用。可是有本质区别:当这种属性被读取是,对应的getter方法被调用,当属性被赋值时,对应的setter方法被调用。this

使用的时候只需写属性名(小写)getLabel 只须要写后面的小写 label。spa

语法:注意若是要赋值的话首先要给类定义一个私有$_label属性code

private $_label//定义一个属性

public function getLabel()
    {
        return $this->label;
    }

public function setLabel()
    {
        $this->_label=trim($value);
    }

使用场景,如截取字符串输出ip

在视图层里:utf-8

'columns' => [
            
            //'content:ntext',
            //经过Comment的getter设置,显示前20个字符
            [
                'attribute'=>'content',
                'value'=>'begining',
            ],
]

在模型类Comment里:字符串

/**
     * 截取评论内容前20个字符
     */
    public function getBegining()
    {
        $str=strip_tags($this->content);//strip_tags方法从字符串中去除 HTML 和 PHP 标记
        $strLength=mb_strlen($this->content);//mb_strlen获取字符串的长度

        return mb_substr($str,0,20,'utf-8').(($strLength>=20?'...':''));//mb_substr方法获取部分字符串
    }
相关文章
相关标签/搜索