本教程将帮助您创建自己的自定义小部件在 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;useyii\base\Widget;useyii\helpers\Html;class HelloWidget extendsWidget
{public $message;public functioninit(){parent::init();if($this->message===null){$this->message= 'Welcome User';}else{$this->message= 'Welcome '.$this->message;}}public functionrun(){return Html::encode($this->message);}
}?>

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

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

在Yii2.0显示小部件内容

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

控制器::SiteController.php

<?php..........
class SiteController  extendsController
{...........public functionactionCreatewidget(){return $this->render('hellowidget');}...........}?>

视图: site/hellowidget.php

<?phpuseapp\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

转载于:https://www.cnblogs.com/yhdsir/p/5181962.html

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

  1. Yii2创建自定义小部件

    Yii2创建自定义小部件 ---恢复内容开始--- 创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Widget::init() 和/或 yii\base\Wid ...

  2. yii2.0框架中自定义接口,实现类的多继承

    一.前言 最近有个需求,比如有A,B,C,D四个文件,原来的逻辑是,A继承B,C继承D.后来由于A和C的逻辑太像,既然如此的话,为什么不把A,C写一起呢,第一是方便维护,第二也是减少无用的代码,说干就 ...

  3. php实现多条件查找分页,Yii2.0框架实现带分页的多条件搜索功能示例

    本文实例讲述了Yii2.0框架实现带分页的多条件搜索功能.分享给大家供大家参考,具体如下: 方法一 在控制器中 public function actionShow(){ $where['title' ...

  4. wordpress创建_十分钟即可在WordPress中创建动态小部件

    wordpress创建 Have you tried to find functionality for a specific purpose in WordPress but failed to f ...

  5. 转:MSDN Visual系列:MOSS企业级搜索之一——在搜索中心里创建自定义搜索页面和标签选项卡...

    MSDN Visual系列:MOSS企业级搜索之一--在搜索中心里创建自定义搜索页面和标签选项卡 原文:http://msdn2.microsoft.com/en-us/library/bb42885 ...

  6. Java中如何创建自定义的注解学习笔记(MD版)

    概要 Java中如何创建自定义的注解学习笔记(MD版). 博客 博客地址:IT老兵驿站. 前言 记得这篇笔记还是在泉州的龙玲酒店记录的,是一个周六的晚上,坐飞机从上海到泉州,从笔记中能勾起一些旅游的回 ...

  7. vscode设置templates_Vscode中快速创建自定义代码模板的方法

    Vscode中快速创建自定义代码模板 一招鲜,吃遍天,学会了这个在Vscode中快速创建自定义代码模板的教程,我相信创建其它代码模板的方法你也就通个七七八八了. 我就以Vue的创建为例,不过我这个Vu ...

  8. php yii2.0框架下载,yii2.0下载|yii2.0(php框架) v2.0.10官方版 附安装教程 - 121下载站...

    yii2.0是一款高性能的php框架,使用这个框架可以帮助用户快速开发出各类实用的网站应用,包括门户网站.论坛.内容管理系统(CMS).电子商务项目和RESTful Web服务等,它包含了丰富的组件和 ...

  9. 在ASP.NET AJAX 1.0框架中访问Web服务

    一. 简介     如今,微软最新推出的AJAX框架为ASP.NET AJAX 1.0(下载地址为[url]http://ajax.asp.net/downloads/default.aspx[/ur ...

最新文章

  1. 第三次学JAVA再学不好就吃翔(part10)--基础语法之if语句
  2. 没有任何权力的“项目经理”该如何当?
  3. 如何看CentOS系统是32位还是64位的?
  4. 用c语言开发图形界面,「分享」C语言如何编写图形界面
  5. 乔丹LeCun李开复隔空对话:我们对智能一无所知;AI研究的12大趋势
  6. python学习(十八)爬虫中加入cookie
  7. CSS3学习笔记--line-height:150%与line-height:1.5的真正区别
  8. python复制csv数据_如何使用Python将CSV数据复制到现有xlsx文件
  9. 鸿蒙汽车电动尾门工厂,汽车智能电动尾门为什么能成为汽车电子行业“新宠”?...
  10. Java—企业微信网页版登陆认证详解
  11. 智慧工厂如何实现工业设备的状态采集
  12. linux 安装pureftp
  13. ppt转换图片及有密码情况处理
  14. matlab结构体与元胞,元胞数组与结构体数组
  15. America dreams in china (Think In an America English)--梦想就是一种让你感到坚持就是幸福的东西...
  16. mobaxterm设置中文
  17. 抖店订单发货回传的实际开发笔记
  18. PythonPyQt5报错:AttributeError: module 'PyQt5.QtGui' has no attribute 'QMainWindow'
  19. apple 妙控键盘 windows能用吗?
  20. 技巧 一根电话线,搞定电脑连电视

热门文章

  1. 算法导论2.1-2.3 部分答案
  2. cdh-5.10.0搭建安装
  3. oracle新建对象 权限管理
  4. C# 程序集 和 反射
  5. twitter中处理网页被iframe方式
  6. 使用BFC块级上下文
  7. SpringCloud创建Gateway模块
  8. win10安装python3_win10 64位肿么安装python3.x
  9. 阿里巴巴获评《福布斯》全球最有投资价值公司
  10. web端功能自动化定位元素(暂不更新)