這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Widget如何在ThinkPHP3.1中使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、平山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。由于ThinkPHP3.1增加了對多層MVC的支持,因此3.1版本可以支持多層的控制器功能,由此我們就可以在控制器層再增加一層:Widget層。
首先,還是在項(xiàng)目的Lib目錄下面創(chuàng)建一個(gè)Widget目錄,并且創(chuàng)建一個(gè)TestWidget類(Lib/Widget/TestWidget.class.php)如下:
class TestWidget extends Action{ public function hello($name=''){ echo ("hello,".$name."!"); } }
我們看到TestWidget和之前的區(qū)別是沒有繼承Widget類,而是直接繼承了Action類,這就代表著在TestWidget中可以直接調(diào)用Action的方法,包括對模板的渲染輸出。
定義完成后,我們怎么調(diào)用這個(gè)Widget呢?用W方法肯定行不通了,這次需要R方法出場了。
R方法的作用是遠(yuǎn)程調(diào)用模塊的操作,但是3.1賦予了它新的作用,可以支持調(diào)用所有控制器層的操作方法,所以,我們可以在模板中這樣來調(diào)用Widget:
{:R('Test/hello',array('ThinkPHP'),'Widget')}
就可以實(shí)現(xiàn)在頁面中的某個(gè)區(qū)域輸出:
hello,ThinkPHP!
由于除了Action控制器之外的其他控制器層是無法直接通過URL訪問的,所以這個(gè)Widget方法只能通過R方法在內(nèi)部調(diào)用才可以。
你可以在TestWidget類中調(diào)用Model來輸出其他數(shù)據(jù),如果需要渲染自身的模板,則可以直接調(diào)用display方法就行了。
class TestWidget extends Action{ public function hello($name=''){ $this->assign('name',$name); $this->display('Test:hello'); } }
我們在項(xiàng)目的Tpl/Test/ 目錄下面創(chuàng)建一個(gè)hello(Tpl/Test/hello.html)模板文件,添加輸出:
Hello,{$name}!
如果你希望和之前的Widget一樣,把模板文件放到當(dāng)前目錄下面,則可以使用:
class TestWidget extends Action{ public function hello($name=''){ $this->assign('name',$name); $this->display(dirname(__FILE__).'/Test/hello.html'); } }
這個(gè)時(shí)候,你就可以把剛才定義的hello模板文件放入Widget/Test/ 目錄下面了。
上述就是小編為大家分享的Widget如何在ThinkPHP3.1中使用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:Widget如何在ThinkPHP3.1中使用-創(chuàng)新互聯(lián)
文章地址:http://www.rwnh.cn/article48/ddcjep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站設(shè)計(jì)公司、定制網(wǎng)站、關(guān)鍵詞優(yōu)化、App開發(fā)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容