Thinkphp 框架擴展之Widget擴展實現(xiàn)方法分析
本文實例講述了Thinkphp 框架擴展之Widget擴展實現(xiàn)方法。分享給大家供大家參考,具體如下:
Widget擴展
Widget擴展一般用于頁面組件的擴展。
舉個例子,我們在頁面中實現(xiàn)一個分類顯示的Widget,首先我們要定義一個Widget控制器層 CateWidget,如下:
namespace Home\Widget; use Think\Controller; class CateWidget extends Controller { public function menu(){ echo 'menuWidget'; } }
然后,我們在模版中通過W方法調(diào)用這個Widget。
{:W('Cate/Menu')}
執(zhí)行后的輸出結(jié)果是:
menuWidget
傳入?yún)?shù)
如果需要在調(diào)用Widget的時候 使用參數(shù),可以這樣定義:
namespace Home\Widget; use Think\Controller; class CateWidget extends Controller { public function menu($id,$name){ echo $id.':'.$name; } }
模版中的參數(shù)調(diào)用,使用:
{:W('Cate/Menu',array(5,'thinkphp'))}
傳入的參數(shù)是一個數(shù)組,順序?qū)?yīng)了menu方法定義的參數(shù)順序。
則會輸出
5:thinkphp
模板支持
Widget可以支持使用獨立的模板,例如:
namespace Home\Widget; use Think\Controller; class CateWidget extends Controller { public function menu(){ $menu = M('Cate')->getField('id,title'); $this->assign('menu',$menu); $this->display('Cate:menu'); } }
CateWiget類渲染了一個模版文件 View/Cate/menu.html。 在menu.html模版文件中的用法:
<foreach name="menu" item="title"> {$key}:{$title} </foreach>
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。
相關(guān)文章
dhtmlxTree目錄樹增加右鍵菜單以及拖拽排序的實現(xiàn)方法
本篇文章介紹了,dhtmlxTree目錄樹增加右鍵菜單以及拖拽排序的實現(xiàn)方法。需要的朋友參考下2013-04-04PHP+Ajax異步通訊實現(xiàn)用戶名郵箱驗證是否已注冊( 2種方法實現(xiàn))
在網(wǎng)站注冊用戶時使用,主要為了無刷新異步驗證用戶輸入的用戶名或者Email是否已注冊。2011-12-12php使用Swoole實現(xiàn)毫秒級定時任務(wù)的方法
這篇文章主要介紹了php使用Swoole實現(xiàn)毫秒級定時任務(wù)的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Thinkphp的volist標(biāo)簽嵌套循環(huán)使用教程
這篇文章主要介紹了Thinkphp實現(xiàn)volist標(biāo)簽嵌套循環(huán)的方法,需要的朋友可以參考下2014-07-07destoon二次開發(fā)常用數(shù)據(jù)庫操作
這篇文章主要介紹了destoon二次開發(fā)常用數(shù)據(jù)庫操作,需要的朋友可以參考下2014-06-06