最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

thinkPHP下的widget擴(kuò)展用法實(shí)例分析

 更新時(shí)間:2015年12月26日 11:16:15   作者:釋然me  
這篇文章主要介紹了thinkPHP下的widget擴(kuò)展用法,結(jié)合實(shí)例形式分析widget擴(kuò)展的具體使用技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了thinkPHP下的widget擴(kuò)展用法。分享給大家供大家參考,具體如下:

Widget擴(kuò)展用于在頁(yè)面根據(jù)需要輸出不同的內(nèi)容,Widget擴(kuò)展的定義是在項(xiàng)目的Lib\Widget目錄下面定義Widget類庫(kù),例如下面定義了一個(gè)用于顯示最近的評(píng)論的Widget:

位于Lib\Widget\ShowCommentWidget.class.php

Widget類庫(kù)需要繼承Widget類,并且必須定義render方法實(shí)現(xiàn),例如:

render方法必須使用return返回要輸出的字符串信息,而不是直接輸出。

Widget也可以調(diào)用Widget類的renderFile方法,渲染模板后進(jìn)行輸出。

在項(xiàng)目的lib目錄下建立widget目錄,與action目錄同級(jí)。

建立TestWidget.class.php:

class TestWidget extends Widget{
  public function render($data){
    //print_r($data);
    $data['id']=$data['id'];
    $data['info']=$data['info'];
    $content = $this->renderFile('index',$data);
    //print_r($content);
    return $content;
  }
}

在此目錄下建立對(duì)應(yīng)的Test文件夾,下面放$this->rendFile調(diào)用的html頁(yè)面。

index.html  通過使用循環(huán)顯示數(shù)據(jù)的信息

<div>
  這是widget調(diào)用的模板頁(yè)面
  <foreach name="id" item="vo"> <span style="color:#ff0000">//注意:id對(duì)應(yīng)與$data的鍵值</span>
    {$vo}
  </foreach>
  <br>
  <foreach name="info" item="vo"> <span style="color:#ff0000">//info對(duì)應(yīng)于$data的鍵值</span>
    <foreach name="vo" item="v">
      {$v}
    </foreach>
  </foreach>
</div>

action方法:

IndexAction.class.php

代碼如下:

class TestAction extends Action{
  public function index(){
    $info=array(array("1","AA","title"),array("2","BB","title2"));
    $this->assign("info",$info);
    $this->display();
  }
}

action調(diào)用的tpl中的html頁(yè)面的為index.html

代碼如下:

<div>
這個(gè)是test調(diào)用的action<br>
{:W('Test',array("id"=>array("ID","name","title"),"info"=>$info))} <span style="color:#cc0000">//傳遞給TestWidget.class.php 的參數(shù),要以array格式傳遞</span>
</div>

運(yùn)行IndexAction.class.php

頁(yè)面顯示如下:

這樣就把show.html中的內(nèi)容包含進(jìn)來了

name什么時(shí)候用widgte呢?

widget通常是一些封裝好了的JS效果組件,直接調(diào)用‘加入?yún)?shù)就可以得到一些效果,例如,TAB菜單、旋轉(zhuǎn)木馬、圖片輪播等交互效果 

比如網(wǎng)站的菜單欄。右邊常不更新的欄目之類的…

方便多次調(diào)用,比如在頁(yè)面上左側(cè)顯示一個(gè)新聞列表,每個(gè)頁(yè)面如果都調(diào)用這個(gè)列表,是不是得在每個(gè)控制器里寫一遍相同的代碼,不累么,用widget可能只需要寫一次,然后模板中多次使用

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

相關(guān)文章

最新評(píng)論

镇江市| 扶沟县| 密云县| 玉环县| 沙河市| 通城县| 房产| 岳阳县| 石楼县| 德阳市| 香港 | 门源| 桃源县| 定日县| 宁波市| 曲阜市| 师宗县| 米脂县| 图们市| 砀山县| 安福县| 开封县| 济阳县| 平阴县| 沧州市| 秦皇岛市| 达州市| 耒阳市| 绵阳市| 台南市| 囊谦县| 拜泉县| 翼城县| 浮山县| 本溪| 丰县| 金平| 昆明市| 偃师市| 弥渡县| 新蔡县|