Yii中创建自己的Widget实例_php实例
Jun 07, 2016 pm 05:09 PM本文实例讲述了Yii中创建自己的Widget实现方法。分享给大家供大家参考,具体如下:
这里以一个随机广告图片为例说明Yii中Widget的用法
1. 调用Widget
或者
<?php $widget=$this->beginWidget('path.to.WidgetClass'); ?> ...可能会由小物件获取的内容主体... <?php $this->endWidget(); ?>
也可以传参到Widget类
<?php $userId = 1; ?> <?php $this->widget('WidgetName',array('userId'=>$userId)); ?>
参数userId自动映射到Widget类的同名属性,所以在定义Widget时,别忘记了声明该属性。
2. 创建Widget
自定义Widget类要继承CWidget,覆盖方法run
<?php class BannerMagic extends CWidget { public function run(){ } }
或者:
class MyWidget extends CWidget { public function init() { // 此方法会被 CController::beginWidget() 调用 } public function run() { // 此方法会被 CController::endWidget() 调用 } }
下面是是BannerMagicWidget实现
<?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文件可能的内容如下:
存储到protected\components\views\bannermagic.php
3. 调用该Widget
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie erstelle ich ein kumulatives Kurvendiagramm in Python?

Wie erstelle ich eine Konstante in Python?

So personalisieren Sie Ihr iPhone auf dem neuesten iOS 17

Wie erstelle ich eine Benutzeroberfläche über Python?

So erstellen Sie eine Familie mit Gree+

So erstellen Sie ein Gantt-Diagramm mit Highcharts

So erstellen Sie ein Kontaktposter für Ihr iPhone
