国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

ThinkPHP中的Widget擴展

2024-09-09 15:19:52
字體:
來源:轉載
供稿:網友

Widget擴展用于根據頁面需要輸出不同內容,它在項目目錄中的Lib/Widget下定義.

定義:

  1. class NewsListWidget extends Widget{ 
  2.     public function render($data){ 
  3.         // code... 
  4.     } 

注意:

1)Widget是一個抽象類,其中有一個抽象方法(abstract)render,必須在子類中實現;

2)Widget的render方法必須使用return返回,而不是直接輸出;

3)$data是傳入Widget的參數。

然后我們可以在模板中直接調用這個Widget

{:W('NewsList', array('tmpl' => 'a'))}

這里我傳入了一個參數,這是比較常見的用法,Widget用來做什么?根據頁面需要輸出不同內容,這個不同內容,可以是數據不同,當然也可以是模板不同.

  1. class NewsListWidget extends Widget{ 
  2.     public function render($data){ 
  3.         // code 
  4.         $news// 這里可以是數據檢索語句檢索出來一個數據集 
  5.         $html = $this->renderFile($data['tmpl'], $news); 
  6.         return $html
  7.     } 

這時候會自動渲染模板文件/Lib/Widget/NewsList/a.html的內容,并把$news傳送過去,可以當普通模板文件處理,然后輸出.

當然,還可以在Action控制器里面獲取Widget的內容,進行二次加工.

$content = W('NewsList', array('tmpl' => 'a'),TRUE); // 第三個參數表示是否返回字符串,默認是FALSE,代表直接輸出。

另外,ThinkPHP是MVC框架,請大家把數據檢索相關的內容放在Model層.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 固始县| 金寨县| 永嘉县| 阿克| 乐昌市| 额济纳旗| 广丰县| 保康县| 道孚县| 牙克石市| 扎鲁特旗| 武安市| 祁阳县| 花莲县| 开封市| 黄龙县| 柏乡县| 于都县| 阿尔山市| 德清县| 长春市| 霍州市| 邢台市| 当阳市| 乌拉特中旗| 水富县| 虞城县| 藁城市| 横峰县| 武宣县| 隆尧县| 邻水| 贡山| 漳平市| 团风县| 抚顺市| 北碚区| 建昌县| 松滋市| 柯坪县| 泰来县|