本文實(shí)例講述了Thinkphp 框架擴(kuò)展之Widget擴(kuò)展實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
Widget擴(kuò)展
Widget擴(kuò)展一般用于頁(yè)面組件的擴(kuò)展。
舉個(gè)例子,我們?cè)陧?yè)面中實(shí)現(xiàn)一個(gè)分類(lèi)顯示的Widget,首先我們要定義一個(gè)Widget控制器層 CateWidget,如下:
namespace Home\Widget;
use Think\Controller;
class CateWidget extends Controller {
public function menu(){
echo 'menuWidget';
}
}
然后,我們?cè)谀0嬷型ㄟ^(guò)W方法調(diào)用這個(gè)Widget。
執(zhí)行后的輸出結(jié)果是:
menuWidget
傳入?yún)?shù)
如果需要在調(diào)用Widget的時(shí)候 使用參數(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ù)是一個(gè)數(shù)組,順序?qū)?yīng)了menu方法定義的參數(shù)順序。
則會(huì)輸出
5:thinkphp
模板支持
Widget可以支持使用獨(dú)立的模板,例如:
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類(lèi)渲染了一個(gè)模版文件 View/Cate/menu.html。 在menu.html模版文件中的用法:
foreach name="menu" item="title">
{$key}:{$title}
/foreach>
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- PHP緩存系統(tǒng)APCu擴(kuò)展的使用
- 如何動(dòng)態(tài)查看及加載PHP擴(kuò)展
- PHP代碼加密和擴(kuò)展解密實(shí)戰(zhàn)
- Thinkphp使用Zxing擴(kuò)展庫(kù)解析二維碼內(nèi)容圖文講解
- win10下 php安裝seaslog擴(kuò)展的詳細(xì)步驟
- PHP擴(kuò)展安裝方法步驟解析
- 安裝PHP擴(kuò)展時(shí)解壓官方 tgz 文件后沒(méi)有configure文件無(wú)法進(jìn)行配置編譯的問(wèn)題
- docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置的示例教程詳解
- PHP擴(kuò)展類(lèi)型及安裝方式解析
- PHP的runkit擴(kuò)展如何使用