旗下导航:搜·么
当前位置:网站首页 > PHP框架 > YII > 正文

yii将数据操纵放在widget合理吗【yii框架教程】,yii

作者:搜搜PHP网发布时间:2019-12-14分类:YII浏览:104


导读:有的人会挑选制造多个layout,在差别处所切换layout,但如许代码的重用性没有发挥出来,而且不够天真。yii内里有一个很轻易的机制来处理这一问题,那就是——wid...

有的人会挑选制造多个layout,在差别处所切换layout,但如许代码的重用性没有发挥出来,而且不够天真。yii内里有一个很轻易的机制来处理这一问题,那就是 —— widget,小部件是也。 (引荐进修:yii框架)

yii内里有一些自带的widget,他们放在web.widgets和zii.widgets下面,比方有我们经常使用的CLinkPager、CMenu人人能够看一看。

要本身扩大widget,依据手册上的引见,须要继续CWidget,而且掩盖run()要领。我们来入手下手扩大第一个widget:

建立widget寄存目次: 在application(默许是protected)下建立目次widgets,用来寄存widget类,然后建立widgets.views目次,用来寄存widget的视图文件。

建立widget类: 在application.widgets下面建立一个名为TestWidget.php的文件,定名没太大考究,保证唯一性,见名知意即可。在内里到场以下代码:

class TestWidget extends CWidget
{
    public $datetime = ''; 

    public function run()
    {
        $datetime = empty($this->datetime) ? date('Y-m-d H:i:s') : $this->datetime;
        $this->render('test', array('datetime'=>$datetime));
    }
}

解释一下这段代码:根据划定规矩,类名TestWidget与文件名TestWidget.php雷同,类TestWidget须要继续CWidget,然后重写(rewrite)run()要领,该要领会在widget被衬着是挪用。

在run()要领里挪用$this->render()要领衬着test视图,将变量$datetime通报到视图(拜见控制器的视图衬着)。能够在内里查询数据库,举行种种操纵,将运算的效果传入视图。

以上就是yii将数据操纵放在widget合理吗的细致内容,更多请关注ki4网别的相干文章!

标签:yii