亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

位于Lib\Widget\ShowCommentWidget.class.php

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

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

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

在項目的lib目錄下建立widget目錄,與action目錄同級。

建立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;
  }
}

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

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

<div>
  這是widget調(diào)用的模板頁面
  <foreach name="id" item="vo"> <span style="color:#ff0000">//注意:id對應(yīng)與$data的鍵值</span>
    {$vo}
  </foreach>
  <br>
  <foreach name="info" item="vo"> <span style="color:#ff0000">//info對應(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頁面的為index.html

代碼如下:

<div>
這個是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

頁面顯示如下:

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

name什么時候用widgte呢?

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

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

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

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

相關(guān)文章

最新評論