ThinkPHP3 2中Widget例項的使用

2021-07-05 12:19:34 字數 855 閱讀 8641

widget類的實現可以作為分層控制器的另外乙個典型例項。

舉個例子,我們在頁面中實現乙個分類選單的widget,首先我們要定義乙個widget控制器層 menuwidget,如下:

namespace home\widget;

class menuwidget extends think\controller

}

類檔案位於 home/widget/menuwidget.class.php。

然後,我們在需要顯示分類選單的模版中通過w方法呼叫這個widget。

執行後的輸出結果是: menuwidget

如果需要在呼叫widget的時候傳入引數,可以這樣定義:

namespace home\widget;

class menuwidget extends think\controller

}

在需要顯示分類選單的模版中新增如下的widget呼叫**如下:

則會輸出 5:thinkphp

來乙個複雜一點的例子:

namespace home\widget;

class menuwidget extends think\controller

}

catewiget類渲染了乙個模版檔案home/view/widget/menu.html

在menu.html模版檔案中的用法:

:

ThinkPHP3 2 驗證隨記

自動完成 靜態方式 在模型類裡面通過 auto屬性定義處理規則。動態方式 使用模型類的auto方法動態建立自動處理規則。自動驗證 靜態方式 在模型類裡面通過 validate屬性定義驗證規則。動態方式 使用模型類的validate方法動態建立自動驗證規則。定義格式為 array array 驗證欄位...

THINKPHP3 2命名空間

thinkphp3.2命名空間 3.2版本全面採用命名空間方式定義和載入類庫檔案,有效的解決多個模組之間的衝突問題,並且實現了更加高效的類庫自動載入機制。由於新版完全採用了命名空間的特性,因此只需要給類庫正確定義所在的命名空間,而命名空間的路徑與類庫檔案的目錄一致,那麼就可以實現類的自動載入。例如,...

ThinkPHP3 2 搭載環境

thinkphp是乙個快速 簡單的基於mvc和物件導向的輕量級php開發框架 預設情況下當你執行index.php時只有home模組,如果你需要建立其他模組時需要在入口檔案 index.php 中定義 define bind module admin 繫結入口到admin模組訪問 bind modu...