由于ThinkPHP3.1增加了對 " /> 欧美成人剧情中文字幕,亚洲日本中文字幕区,午夜成人免费视频

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

ThinkPHP3.1的Widget新用法

Thinkphp3.0版本的Widget對Action和View的支持力度是相對不夠的,僅能夠實現基本的模板渲染輸出。而3.1版本的發布帶來的多層MVC功能,給我們實現Widget的方式帶來了新的思路,且看是如何實現吧。

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

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

class TestWidget extends Action{  public function hello($name=''){    echo ("hello,".$name."!");  } }

我們看到TestWidget和之前的區別是沒有繼承Widget類,而是直接繼承了Action類,這就代表著在TestWidget中可以直接調用Action的方法,包括對模板的渲染輸出。

定義完成后,我們怎么調用這個Widget呢?用W方法肯定行不通了,這次需要R方法出場了。
R方法的作用是遠程調用模塊的操作,但是3.1賦予了它新的作用,可以支持調用所有控制器層的操作方法,所以,我們可以在模板中這樣來調用Widget:

{:R('Test/hello',array('Thinkphp'),'Widget')}

就可以實現在頁面中的某個區域輸出:

hello,Thinkphp!

由于除了Action控制器之外的其他控制器層是無法直接通過URL訪問的,所以這個Widget方法只能通過R方法在內部調用才可以。

你可以在TestWidget類中調用Model來輸出其他數據,如果需要渲染自身的模板,則可以直接調用display方法就行了。

class TestWidget extends Action{  public function hello($name=''){    $this->assign('name',$name);    $this->display('Test:hello');  } }

我們在項目的Tpl/Test/ 目錄下面創建一個hello(Tpl/Test/hello.html)模板文件,添加輸出:

Hello,{$name}!

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

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

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

php技術ThinkPHP3.1的Widget新用法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 四虎欧美永久在线精品免费 | 国产线视频精品免费观看视频 | 日韩欧美国产三级 | 久久久国产一区二区三区丝袜 | 六月丁香六月婷婷 | 亚洲综合区图片小说区 | 国产在线一区精品对白麻豆 | 337p欧洲日本大胆艺术 | 国产日韩一区二区三区在线播放 | 国产在线小视频 | 91在线免费公开视频 | 久久免费公开视频 | 国产毛片在线看 | 国产区高清 | 亚洲五月综合 | 亚洲国产天堂久久综合图区 | 国产免费网 | 综合图片亚洲网友自拍10p | 91久久亚洲国产成人精品性色 | 亚洲人的天堂男人爽爽爽 | 国产精品第一页在线 | 日本高清视频在线www色 | 永久黄网站色视频免费观看 | 四虎影永久在线高清免费 | 在线观看免费视频黄 | 青青亚洲 | 黄色小视频在线观看免费 | 免费网站色| 国产精品手机在线观看 | 狠狠大日本亚洲香蕉亚洲 | 国产精品视频李雅 | 久久亚洲一级毛片 | 国产精品二区页在线播放 | 亚洲综合激情小说 | 免费人成a大片在线观看动漫 | 日本一区二区三区久久久久 | 久久er国产精品免费观看8 | 九九99九九精彩 | 四虎影视在线永久免费观看 | 91国内视频在线观看 | 青草99 |