今天就跟大家聊聊有關(guān)如何在ThinkPHP中使用Widget擴展,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
在桐鄉(xiāng)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站制作,桐鄉(xiāng)網(wǎng)站建設(shè)費用合理。thinkphp屬于一種免費的開發(fā)框架,能夠用于開發(fā)前端網(wǎng)頁,最早thinkphp是為了簡化開發(fā)而產(chǎn)生的,thinkphp同時也是遵循Apache2協(xié)議,最初是從Struts演變過來,也把國外一些好的框架模式進行利用,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu),兼容了很多標(biāo)簽庫等模式,它能夠更方便和快捷的開發(fā)和部署應(yīng)用,當(dāng)然不僅僅是企業(yè)級應(yīng)用,任何php應(yīng)用開發(fā)都可以從thinkphp的簡單、兼容和快速的特性中受益。
ThinkPHP的Widget擴展用于根據(jù)頁面需要輸出不同內(nèi)容,它在項目目錄中的Lib/Widget下定義。
具體定義如下:
class NewsListWidget extends Widget{ public function render($data){ // code... } }
需要注意:
1.Widget是一個抽象類,其中有一個抽象方法(abstract)render,必須在子類中實現(xiàn);
2.Widget的render方法必須使用return返回,而不是直接輸出;
3.$data是傳入Widget的參數(shù)。
然后我們可以在模板中直接調(diào)用這個Widget:
{:W('NewsList', array('tmpl' => 'a'))}
這里我傳入了一個參數(shù),這是比較常見的用法,Widget用來做什么?根據(jù)頁面需要輸出不同內(nèi)容,這個不同內(nèi)容,可以是數(shù)據(jù)不同,當(dāng)然也可以是模板不同。
class NewsListWidget extends Widget{ public function render($data){ // code $news; // 這里可以是數(shù)據(jù)檢索語句檢索出來一個數(shù)據(jù)集 $html = $this->renderFile($data['tmpl'], $news); return $html; } }
這時候會自動渲染模板文件/Lib/Widget/NewsList/a.html的內(nèi)容,并把$news傳送過去,可以當(dāng)普通模板文件處理,然后輸出。
當(dāng)然,還可以在Action控制器里面獲取Widget的內(nèi)容,進行二次加工。
$content = W('NewsList', array('tmpl' => 'a'), TRUE); // 第三個參數(shù)表示是否返回字符串,默認(rèn)是FALSE,代表直接輸出。
看完上述內(nèi)容,你們對如何在ThinkPHP中使用Widget擴展有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。