Heim Backend-Entwicklung PHP-Tutorial Yii中创建自己的Widget实例_php实例

Yii中创建自己的Widget实例_php实例

Jun 07, 2016 pm 05:09 PM
yii 创建

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

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

1. 调用Widget

复制代码 代码如下:
widget('WidgetName'); ?>

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

Nach dem Login kopieren

也可以传参到Widget类

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

Nach dem Login kopieren

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

2. 创建Widget

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

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

Nach dem Login kopieren

或者:

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

Nach dem Login kopieren

下面是是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,
   ));
  }
}

Nach dem Login kopieren

存储到protected\components\BannerMagicWidget.php

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

复制代码 代码如下:
whatever

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

3. 调用该Widget

复制代码 代码如下:
widget('BannerMagicWidget'); ?>

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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie erstelle ich ein kumulatives Kurvendiagramm in Python? Wie erstelle ich ein kumulatives Kurvendiagramm in Python? Aug 23, 2023 pm 08:33 PM

Wie erstelle ich ein kumulatives Kurvendiagramm in Python?

Wie erstelle ich eine Konstante in Python? Wie erstelle ich eine Konstante in Python? Aug 29, 2023 pm 05:17 PM

Wie erstelle ich eine Konstante in Python?

So personalisieren Sie Ihr iPhone auf dem neuesten iOS 17 So personalisieren Sie Ihr iPhone auf dem neuesten iOS 17 Sep 21, 2023 am 08:17 AM

So personalisieren Sie Ihr iPhone auf dem neuesten iOS 17

So erstellen Sie Pixelkunst in GIMP So erstellen Sie Pixelkunst in GIMP Feb 19, 2024 pm 03:24 PM

So erstellen Sie Pixelkunst in GIMP

Wie erstelle ich eine Benutzeroberfläche über Python? Wie erstelle ich eine Benutzeroberfläche über Python? Aug 26, 2023 am 09:17 AM

Wie erstelle ich eine Benutzeroberfläche über Python?

So erstellen Sie eine Familie mit Gree+ So erstellen Sie eine Familie mit Gree+ Mar 01, 2024 pm 12:40 PM

So erstellen Sie eine Familie mit Gree+

So erstellen Sie ein Gantt-Diagramm mit Highcharts So erstellen Sie ein Gantt-Diagramm mit Highcharts Dec 17, 2023 pm 07:23 PM

So erstellen Sie ein Gantt-Diagramm mit Highcharts

So erstellen Sie ein Kontaktposter für Ihr iPhone So erstellen Sie ein Kontaktposter für Ihr iPhone Mar 02, 2024 am 11:30 AM

So erstellen Sie ein Kontaktposter für Ihr iPhone

See all articles