燕玉苗 2014-02-25 14:42:21 6357次浏览 0条评论 2 0 0

Yii的使用者都知道Yii是一个基于Component开发的框架,我们平时用到的Controller,Model等其实都是Component,因此我们也可以利用Component的特性来为我们的model添加一些功能。

平时我们建立的user表总是会涉及到first_name, last_name, 而在系统中我们要用到的却经常是完整人名。

//action
$user = User::model()->findByPk($id);
$this->render('show', array('user' => $user));

//view
<span><?php echo $user->first_name . ' '  . $user->last_name ?></span>

这是我们经常会采用的方法,其实我们可以为user model 添加一个fullname属性来显示用户全名, 然后在view中直接调用这个属性就可以了

<?php
    //user model
    class User extends CActiveRecord
    {
        //.......

        public function getFullname()
        {
            if ($this->first_name && $this->last_name) {
                return $this->first_name . ' ' . $this->last_name;
            }
            return 'Unknown';
        }
    }
?>

//view
<span><?php echo $user->fullname ?></span>

这样代码是不是清晰了很多, 我们还可以在属性那个设定函数中实现不同的现实方法。

    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册