首页 后端开发 php教程 Yii中创建自己的Widget实例_PHP

Yii中创建自己的Widget实例_PHP

May 28, 2016 am 11:49 AM
yii 创建

本文实例讲述了Yii中创建自己的Widget实现方法。分享给大家供大家参考,具体如下:

这里以一个随机广告图片为例说明Yii中Widget的用法

1. 调用Widget

代码如下:

widget('WidgetName'); ?>


或者

<&#63;php $widget=$this->beginWidget('path.to.WidgetClass'); &#63;>
...可能会由小物件获取的内容主体...
<&#63;php $this->endWidget(); &#63;>

登录后复制

也可以传参到Widget类

<&#63;php $userId = 1; &#63;>
<&#63;php $this->widget('WidgetName',array('userId'=>$userId)); &#63;>

登录后复制

参数userId自动映射到Widget类的同名属性,所以在定义Widget时,别忘记了声明该属性。

2. 创建Widget

自定义Widget类要继承CWidget,覆盖方法run

<&#63;php
class BannerMagic extends CWidget {
  public function run(){
  }
}

登录后复制

或者:

class MyWidget extends CWidget {
  public function init() {
    // 此方法会被 CController::beginWidget() 调用
  }
   public function run() {
    // 此方法会被 CController::endWidget() 调用
  }
}

登录后复制

下面是是BannerMagicWidget实现

<&#63;php class BannerMagicWidget extends CWidget {
  public function run() {
   $random = rand(1,3);
   if ($random == 1) {
    $advert = "advert1.jpg";
   } else if ($random == 2) {
    $advert = "advert2.jpg";
   } else {
    $advert = "advert3.jpg";
   } 
   $this->render('bannermagic',array(
    "advert"=>$advert,
   ));
  }
}

登录后复制

存储到protected\components\BannerMagicWidget.php

对应的view文件可能的内容如下:

代码如下:

whatever


存储到protected\components\views\bannermagic.php

3. 调用该Widget

代码如下:

widget('BannerMagicWidget'); ?>

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在Python中创建累积曲线图? 如何在Python中创建累积曲线图? Aug 23, 2023 pm 08:33 PM

如何在Python中创建累积曲线图?

如何在Python中创建一个常量? 如何在Python中创建一个常量? Aug 29, 2023 pm 05:17 PM

如何在Python中创建一个常量?

如何在最新的 iOS 17 上个性化你的 iPhone 电话 如何在最新的 iOS 17 上个性化你的 iPhone 电话 Sep 21, 2023 am 08:17 AM

如何在最新的 iOS 17 上个性化你的 iPhone 电话

如何在GIMP中创建像素艺术 如何在GIMP中创建像素艺术 Feb 19, 2024 pm 03:24 PM

如何在GIMP中创建像素艺术

格力+如何创建家庭 格力+如何创建家庭 Mar 01, 2024 pm 12:40 PM

格力+如何创建家庭

如何通过Python创建用户界面? 如何通过Python创建用户界面? Aug 26, 2023 am 09:17 AM

如何通过Python创建用户界面?

如何使用Highcharts创建甘特图表 如何使用Highcharts创建甘特图表 Dec 17, 2023 pm 07:23 PM

如何使用Highcharts创建甘特图表

如何创建您的 iPhone 联系人海报 如何创建您的 iPhone 联系人海报 Mar 02, 2024 am 11:30 AM

如何创建您的 iPhone 联系人海报

See all articles