教你在Yii2.0框架中如何创建自定义小部件
本教程将帮助您创建自己的自定义小部件在 yii framework 2.0。部件是可重用的模块和用于视图。
创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Widget::init() 和/或 yii\base\Widget::run() 方法.
注意:在yii 1.x,我们将使用 widgets 的文件夹。
在 Yii2.0 创建自己的小部件
首先创建一个名为 widgets 的文件夹在项目根目录。现在在 widgets文件夹内创建一个“HelloWidget”类 。使用这个小部件,我们将与用户名一起显示欢迎消息。请参见下面的代码来创建一个小部件类。
<?php
namespace app\widgets; use yii\base\Widget;
use yii\helpers\Html; class HelloWidget extends Widget
{
public $message; public function init()
{
parent::init();
if($this->message===null){
$this->message= 'Welcome User';
}else{
$this->message= 'Welcome '.$this->message;
}
} public function run()
{
return Html::encode($this->message);
}
}
?>
init() - 应该包含小部件的属性,
run() - 应该包含小部件的渲染结果
HelloWidget”这个类是我们的自定义小部件。“app\widgets”是这个类的名称空间,“HelloWidget”是一个类名。使用命名空间和类名,我们可以访问这个小部件应用,即‘app\widgets\HelloWidget’。
在Yii2.0显示小部件内容
在视图代码中使用 app\widgets\HelloWidget 添加小部件应用。看到以下代码如何被称为小部件类。
控制器::SiteController.php
<?php
..........
class SiteController extends Controller
{
...........
public function actionCreatewidget()
{
return $this->render('hellowidget');
}
...........
}
?>
视图: site/hellowidget.php
<?php
use app\widgets\HelloWidget;
?>
<?= HelloWidget::widget(['message' => ' Yii2.0']) ?>
输出
Welcome Yii2.0
参考:http://www.bsourcecode.com/yiiframework2/how-to-create-custom-widget-in-yii2-0-framework/
来源:http://www.getyii.com/topic/174
教你在Yii2.0框架中如何创建自定义小部件的更多相关文章
- yii2.0框架中session与cookie的用法
我们在开发项目中南面使用到session给和cookie,那么在yii中有他自己的规则 如下案例: session使用 function actionS1(){ echo $t ...
- 在 yii2.0 框架中封装导出html 表格样式 Excel 类
在 vendor/yiisoft/yii2/helpers/ 创建一个 Excel.php <?php namespace yii\helpers; class Excel{ ...
- yii2.0查询关联数据以及widgets小部件
怎样去查询关联数据呢,接下来整理一个简单的代码:
- yii2.0框架安装心得
yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到co ...
- 8.Yii2.0框架控制器接收get.post数据
8.Yii2.0框架控制器接收get.post数据 一.get传参 <?php /** * Created by Haima. * Author:Haima * QQ:228654416 * D ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
- yii2.0框架where条件的使用
在yii框架中,where条件的使用多种多样,下面就和大家介绍几种常用有效的使用方法 1. ['type' => 1, 'status' => 2] //等于 (type = 1) AND ...
- Yii2的相关学习记录,alert等美化、confirm异步、session中的flash及小部件的使用(六)
呃,系统自带的alert.confirm等弹出框实在是难看,作为一个颜控,这能忍? 这里我用的是kartik-v/yii2-dialog,这个是基于bootstrap3-dialog这个来做了一些常用 ...
- Spring框架中一个有用的小组件:Spring Retry
1.概述 Spring Retry 是Spring框架中的一个组件, 它提供了自动重新调用失败操作的能力.这在错误可能是暂时发生的(如瞬时网络故障)的情况下很有帮助. 在本文中,我们将看到使用Spri ...
随机推荐
- ../lib//libscsdblog.so: undefined reference to `pthread_atfork'
代码中遇到这个问题,但是在makefile中已经添加了-lpthread. 最后发现问题时,引入库的顺序,把-lpthread放在最后就可以了.
- Linux 部署jenkins + svn + mavne + tomcat8自动化部署
1,下载Jenkins war包 官网下载地址 https://jenkins.io/ 2.初始化安装 1)首次启动jenkins,出于安全考虑,jenkins会生成一个随机的口令到 /root ...
- MYSQL分区表功能测试简析
1.查看Mysql版本是否支持分区 SHOW VARIABLES LIKE '%partition%'; +-------------------+-------+ | Variable_nam ...
- 给linux操作系统安装中文环境
如果设置的默认环境是英文,需要安装中文环境.最简答的方法如下: sudo apt-get install language-pack-zh-hant sudo apt-get install lang ...
- python3----ljust rjust center
Python中打印字符串时可以调用ljust(左对齐),rjust(右对齐),center(中间对齐)来输出整齐美观的字符串,使用起来非常简单,包括使用第二个参数填充(默认为空格).看下面的例子就会明 ...
- cocos2d-x - android 学习(集成NDK、配置开发环境)
先来贴上一大神的博客:日月之明 --- http://www.cnblogs.com/lhming/tag/cocs2d-x/ 需要工具和软件包:Eclipse.Android SDK.Android ...
- AdnroidUtils-常用工具类(showDiaLog/HTTP)
1. HttpUtils 该工具类应用于Android客户端+Web服务器 /** * */ package com.nubb.auction.client.util; import java.uti ...
- OC对象给分类加入属性
OC对象中不能给分类加入属性.可是在实际开发中.常常为了更好的性能须要给分类加入属性,那么 加入的属性不能有默认的成员变量.须要我们自己实现set和get方法,要用到执行时 例如以下: #import ...
- idea 全部报错找不到包
解决报错方法如下:
- Java Random 含参与不含参构造函数的区别
##Random 通常用来作为随机数生成器,它有两个构造方法: Random random = new Random(); Random random2 = new Random(50); 1.不含参 ...