本文實例講述了Thinkphp 框架擴展之Widget擴展實現方法。分享給大家供大家參考,具體如下:
Widget擴展
Widget擴展一般用于頁面組件的擴展。
舉個例子,我們在頁面中實現一個分類顯示的Widget,首先我們要定義一個Widget控制器層 CateWidget,如下:
namespace Home\Widget;
use Think\Controller;
class CateWidget extends Controller {
public function menu(){
echo 'menuWidget';
}
}
然后,我們在模版中通過W方法調用這個Widget。
執行后的輸出結果是:
menuWidget
傳入參數
如果需要在調用Widget的時候 使用參數,可以這樣定義:
namespace Home\Widget;
use Think\Controller;
class CateWidget extends Controller {
public function menu($id,$name){
echo $id.':'.$name;
}
}
模版中的參數調用,使用:
{:W('Cate/Menu',array(5,'thinkphp'))}
傳入的參數是一個數組,順序對應了menu方法定義的參數順序。
則會輸出
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>
更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。
您可能感興趣的文章:- PHP緩存系統APCu擴展的使用
- 如何動態查看及加載PHP擴展
- PHP代碼加密和擴展解密實戰
- Thinkphp使用Zxing擴展庫解析二維碼內容圖文講解
- win10下 php安裝seaslog擴展的詳細步驟
- PHP擴展安裝方法步驟解析
- 安裝PHP擴展時解壓官方 tgz 文件后沒有configure文件無法進行配置編譯的問題
- docker 安裝 php-fpm 服務 / 擴展 / 配置的示例教程詳解
- PHP擴展類型及安裝方式解析
- PHP的runkit擴展如何使用