利用 Yii Component 的特性为 Model 添加额外属性

 

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>

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

From:http://www.cnblogs.com/analyzer/articles/1673029.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值