发布于 2015-01-25 10:20:39 | 451 次阅读 | 评论: 0 | 来源: PHPERZ
Yii高性能PHP框架
Yii Framework是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。Yii是创始人薛强的心血结晶,于2008年1月1日开始开发。
本文为大家讲解的是利用 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>
这样代码是不是清晰了很多, 我们还可以在属性那个设定函数中实现不同的现实方法。
注:也可以使用yii的afterFind方法来实现这个功能见:yii afterFind用法