本篇文章給大家分享的是有關(guān)widget在thinkPHP5框架中的功能有哪些,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)新洲免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。具體如下:
注意:使用助手函數(shù)return view()
渲染,則掛件功能會失敗,必須使用return $this->fetch()
我們在使用模板的時候,一般網(wǎng)站的頂部(比如說導(dǎo)航欄,或者用戶登錄區(qū)域等等),以及網(wǎng)站的尾部footer(比如友情鏈接或者版權(quán)說明等等),和body區(qū)域,我們會為了簡化代碼,都會將這三個部分剖開分離,然后通過模板繼承的方式來使用.
但是如果頂部和尾部只是單純的html代碼還好說,但是里面通常有變量賦值和循環(huán)遍歷以及判斷等邏輯.
當(dāng)然原始的方法就是我們在這兩個區(qū)域里面使用原生的php代碼來實現(xiàn),但是這并不符合thinkphp5框架的理念,所以就早期的版本中就有widget這個東東,熟悉wordpress和yii框架的都非常熟悉,這個都是建成掛件,小部件的東西.
他可以非常方便的讓你在網(wǎng)站某一區(qū)域設(shè)置包含變量循環(huán)等輸出,比如廣告模塊,日歷模塊,等等.
下面就介紹如何在thinkphp5中簡單的使用這項功能.
首先我們需要在模塊目錄下,簡歷widget目錄,然后在里面建立Blog控制器,然后在index的方法中寫下如下代碼:
注意,代碼中的Book為我自定義的模型,只是配合舉例來用.
當(dāng)然你可以繼承Controller,也可以選擇不繼承,這取決于你使用框架的習(xí)慣,當(dāng)然如果不繼承,你需要使用view助手渲染模板.
代碼的意思就是將模型Book中的數(shù)據(jù)取出,并賦值到模板中.
重點:$this->fetch();不要以為里面不寫模板路徑就會默認只想view視圖下blog文件夾中的index視圖,
在widget這里是不行的,必須填寫對應(yīng)視圖路徑
對應(yīng)的視圖路徑為view視圖下的blog目錄下index.html,當(dāng)然i你可以自定義視圖名稱
namespace app\index\widget; use app\index\model\Book; use think\Controller; class Blog extends Controller { public function index() { $list = Book::all(); $this->assign('list',$list); return $this->fetch('widget/index'); } }
然后在view/blog/index.html中代碼如下,僅作示例來用
在這里自定義輸出遍歷了指定內(nèi)容
{volist name="list" id="v"} <p>{$v.id}+{$v.bookname}</p> {/volist}
你可以在實際應(yīng)用中使用任何想需要的功能,比如說導(dǎo)航欄遍歷輸出,或者許多許多掛件模塊
如何調(diào)用呢,你可以在你的指定視圖模板中或者在繼承的公共模板中使用以下
{:widget('Blog/index')}
這種方式來輸出,Blog為widget目錄下的控制器,index為控制器中的方法名
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <p>這里顯示的默認主頁輸出內(nèi)容</p> <p>如果widget使用正常,下面將輸出遍歷一個數(shù)據(jù)表的內(nèi)容</p> {:widget('Blog/index')} </body> </html>
至此,完成輸出以下頁面!
這里顯示的默認主頁輸出內(nèi)容
如果widget使用正常,下面將輸出遍歷一個數(shù)據(jù)表的內(nèi)容
1+weilai
2+yanyan
以上就是widget在thinkPHP5框架中的功能有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前題目:widget在thinkPHP5框架中的功能有哪些-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://jinyejixie.com/article14/dipjde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、云服務(wù)器、響應(yīng)式網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)