您的位置:首页 > 编程语言 > PHP开发

教你在Yii2.0框架中如何创建自定义小部件

2016-02-04 17:02 786 查看
本教程将帮助您创建自己的自定义小部件在yiiframework2.0。部件是可重用的模块和用于视图。

创建一个小部件,需要继承
yii\base\Widget
,覆盖重写
yii\base\Widget::init()
和/或
yii\base\Widget::run()
方法.

注意:在yii1.x,我们将使用
widgets
的文件夹。

在Yii2.0创建自己的小部件

首先创建一个名为
widgets
的文件夹在项目根目录。现在在
widgets
文件夹内创建一个“HelloWidget”类。使用这个小部件,我们将与用户名一起显示欢迎消息。请参见下面的代码来创建一个小部件类。

<?php
namespaceapp\widgets;

useyii\base\Widget;
useyii\helpers\Html;

classHelloWidgetextendsWidget
{
public$message;

publicfunctioninit()
{
parent::init();
if($this->message===null){
$this->message='WelcomeUser';
}else{
$this->message='Welcome'.$this->message;
}
}

publicfunctionrun()
{
returnHtml::encode($this->message);
}
}
?>


init()-应该包含小部件的属性,
run()-应该包含小部件的渲染结果


HelloWidget”这个类是我们的自定义小部件。“app\widgets”是这个类的名称空间,“HelloWidget”是一个类名。使用命名空间和类名,我们可以访问这个小部件应用,即‘app\widgets\HelloWidget’。

在Yii2.0显示小部件内容

在视图代码中使用
app\widgets\HelloWidget
添加小部件应用。看到以下代码如何被称为小部件类。

控制器::SiteController.php

<?php
..........
classSiteControllerextendsController
{
...........
publicfunctionactionCreatewidget()
{
return$this->render('hellowidget');
}
...........
}
?>


视图:site/hellowidget.php

<?php
useapp\widgets\HelloWidget;
?>
<?=HelloWidget::widget(['message'=>'Yii2.0'])?>


输出

WelcomeYii2.0


参考:http://www.bsourcecode.com/yiiframework2/how-to-create-custom-widget-in-yii2-0-framework/

来源:http://www.getyii.com/topic/174


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: