一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - ThinkPHP3.1的Widget新用法

ThinkPHP3.1的Widget新用法

2020-07-08 14:40shichen2014 PHP教程

這篇文章主要介紹了ThinkPHP3.1的Widget新用法,需要的朋友可以參考下

ThinkPHP3.0版本的Widget對(duì)Action和View的支持力度是相對(duì)不夠的,僅能夠?qū)崿F(xiàn)基本的模板渲染輸出。而3.1版本的發(fā)布帶來(lái)的多層MVC功能,給我們實(shí)現(xiàn)Widget的方式帶來(lái)了新的思路,且看是如何實(shí)現(xiàn)吧。

由于ThinkPHP3.1增加了對(duì)多層MVC的支持,因此3.1版本可以支持多層的控制器功能,由此我們就可以在控制器層再增加一層:Widget層。

首先,還是在項(xiàng)目的Lib目錄下面創(chuàng)建一個(gè)Widget目錄,并且創(chuàng)建一個(gè)TestWidget類(Lib/Widget/TestWidget.class.php)如下:

?
1
2
3
4
5
class TestWidget extends Action{
  public function hello($name=''){
    echo ("hello,".$name."!");
  }
 }

我們看到TestWidget和之前的區(qū)別是沒(méi)有繼承Widget類,而是直接繼承了Action類,這就代表著在TestWidget中可以直接調(diào)用Action的方法,包括對(duì)模板的渲染輸出。

定義完成后,我們?cè)趺凑{(diào)用這個(gè)Widget呢?用W方法肯定行不通了,這次需要R方法出場(chǎng)了。
R方法的作用是遠(yuǎn)程調(diào)用模塊的操作,但是3.1賦予了它新的作用,可以支持調(diào)用所有控制器層的操作方法,所以,我們可以在模板中這樣來(lái)調(diào)用Widget:

?
1
{:R('Test/hello',array('ThinkPHP'),'Widget')}

就可以實(shí)現(xiàn)在頁(yè)面中的某個(gè)區(qū)域輸出:

?
1
hello,ThinkPHP!

由于除了Action控制器之外的其他控制器層是無(wú)法直接通過(guò)URL訪問(wèn)的,所以這個(gè)Widget方法只能通過(guò)R方法在內(nèi)部調(diào)用才可以。

你可以在TestWidget類中調(diào)用Model來(lái)輸出其他數(shù)據(jù),如果需要渲染自身的模板,則可以直接調(diào)用display方法就行了。

?
1
2
3
4
5
6
class TestWidget extends Action{
  public function hello($name=''){
    $this->assign('name',$name);
    $this->display('Test:hello');
  }
 }

我們?cè)陧?xiàng)目的Tpl/Test/ 目錄下面創(chuàng)建一個(gè)hello(Tpl/Test/hello.html)模板文件,添加輸出:

?
1
Hello,{$name}!

如果你希望和之前的Widget一樣,把模板文件放到當(dāng)前目錄下面,則可以使用:

?
1
2
3
4
5
6
class TestWidget extends Action{
  public function hello($name=''){
    $this->assign('name',$name);
    $this->display(dirname(__FILE__).'/Test/hello.html');
  }
 }

這個(gè)時(shí)候,你就可以把剛才定義的hello模板文件放入Widget/Test/ 目錄下面了。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日日视频 | 国产高清在线视频一区二区三区 | 日本亚洲欧洲高清有码在线播放 | 五月婷婷俺来也 | 日韩综合一区 | 日本高清视频网站www | 欧美精品亚洲精品日韩1818 | 日日摸日日添日日透 | tube62hdxxxx日本 | 性夜影院午夜看片 | 亚洲第一天堂无码专区 | 国产亚洲精品线观看77 | 农村妇女野战bbxxx | 国产亚洲玖玖玖在线观看 | 成人小视频在线观看 | 国产色站 | 毛片手机在线视频免费观看 | 91在线视频播放 | 亚洲午夜大片 | 3p文两男一女办公室高h | 亚飞与亚基国语1080p在线观看 | 99爱视频| 天天综合网网欲色 | 国产精品色爱综合网 | 亚洲精品视频在线免费 | 日韩理论在线观看 | 岛国虐乳紧缚媚药调教 | bl超h 高h 污肉快穿np | 久久大胆视频 | 国产极品久久 | 午夜AV亚洲一码二中文字幕青青 | 好猛好紧好硬使劲好大刺激视频 | 日韩一区二区三区免费 | 天天色影视综合网 | 91青青国产在线观看免费 | 乌克兰肛交影视 | 2019天天干天天操 | 超时空要爱国语完整版在线 | 操破苍穹小说 | 亚洲欧美日韩中文字幕久久 | 日韩亚洲欧美综合一区二区三区 |