• 技术文章 >php教程 >php手册

    Yii中创建自己的Widget实例,yiiwidget实例

    2016-06-13 08:48:25原创270

    Yii中创建自己的Widget实例,yiiwidget实例


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

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

    1. 调用Widget
    复制代码 代码如下:<?php $this->widget('WidgetName'); ?>
    或者

    <?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文件可能的内容如下:
    复制代码 代码如下:whatever
    存储到protected\components\views\bannermagic.php

    3. 调用该Widget
    复制代码 代码如下:<?php $this->widget('BannerMagicWidget'); ?>

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

    您可能感兴趣的文章:

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Yii Widget
    上一篇:WordPress中获取所使用的模板的页面ID的简单方法,wordpressid 下一篇:简单了解将WordPress中的工具栏移到底部的小技巧,wordpress小技巧

    相关文章推荐

    • 解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)• php下几个常用的去空、分组、调试数组函数• swfupload 多文件上传实现代码• 用PHP与XML联手进行网站编程代码实例• 谈谈新手如何学习PHP网络编程第1/2页

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网