欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Yii中創(chuàng)建自己的Widget實(shí)例

 更新時(shí)間:2016年01月05日 17:04:11   作者:zm2714  
這篇文章主要介紹了Yii中創(chuàng)建自己的Widget實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式較為詳細(xì)的分析了Yii中創(chuàng)建Widget的步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Yii中創(chuàng)建自己的Widget實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

這里以一個(gè)隨機(jī)廣告圖片為例說(shuō)明Yii中Widget的用法

1. 調(diào)用Widget

復(fù)制代碼 代碼如下:
<?php $this->widget('WidgetName'); ?>

或者

<?php $widget=$this->beginWidget('path.to.WidgetClass'); ?>
...可能會(huì)由小物件獲取的內(nèi)容主體...
<?php $this->endWidget(); ?>

也可以傳參到Widget類

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

參數(shù)userId自動(dòng)映射到Widget類的同名屬性,所以在定義Widget時(shí),別忘記了聲明該屬性。

2. 創(chuàng)建Widget

自定義Widget類要繼承CWidget,覆蓋方法run

<?php
class BannerMagic extends CWidget {
  public function run(){
  }
}

或者:

class MyWidget extends CWidget {
  public function init() {
    // 此方法會(huì)被 CController::beginWidget() 調(diào)用
  }
   public function run() {
    // 此方法會(huì)被 CController::endWidget() 調(diào)用
  }
}

下面是是BannerMagicWidget實(shí)現(xiàn)

<?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,
   ));
  }
}

存儲(chǔ)到protected\components\BannerMagicWidget.php

對(duì)應(yīng)的view文件可能的內(nèi)容如下:

復(fù)制代碼 代碼如下:
<img src="images/adverts/<?php echo $advert; ?>" alt="whatever" />

存儲(chǔ)到protected\components\views\bannermagic.php

3. 調(diào)用該Widget

復(fù)制代碼 代碼如下:
<?php $this->widget('BannerMagicWidget'); ?>

希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論