主頁(yè) > 知識(shí)庫(kù) > thinkPHP5框架中widget的功能與用法詳解

thinkPHP5框架中widget的功能與用法詳解

熱門標(biāo)簽:h5 地圖標(biāo)注 高識(shí)別電銷機(jī)器人 哈爾濱400電話辦理到易號(hào)網(wǎng) 電銷機(jī)器人-快迭智能 寶安400電話辦理 合肥外呼系統(tǒng)app 智能外呼電銷系統(tǒng) 沈陽(yáng)人工智能電銷機(jī)器人公司 拉薩打電話機(jī)器人

本文實(shí)例講述了thinkPHP5框架中widget的功能與用法。分享給大家供大家參考,具體如下:

注意:使用助手函數(shù)return view()渲染,則掛件功能會(huì)失敗,必須使用return $this->fetch()

我們?cè)谑褂媚0宓臅r(shí)候,一般網(wǎng)站的頂部(比如說(shuō)導(dǎo)航欄,或者用戶登錄區(qū)域等等),以及網(wǎng)站的尾部footer(比如友情鏈接或者版權(quán)說(shuō)明等等),和body區(qū)域,我們會(huì)為了簡(jiǎn)化代碼,都會(huì)將這三個(gè)部分剖開(kāi)分離,然后通過(guò)模板繼承的方式來(lái)使用.

但是如果頂部和尾部只是單純的html代碼還好說(shuō),但是里面通常有變量賦值和循環(huán)遍歷以及判斷等邏輯.

當(dāng)然原始的方法就是我們?cè)谶@兩個(gè)區(qū)域里面使用原生的php代碼來(lái)實(shí)現(xiàn),但是這并不符合thinkphp5框架的理念,所以就早期的版本中就有widget這個(gè)東東,熟悉wordpress和yii框架的都非常熟悉,這個(gè)都是建成掛件,小部件的東西.

他可以非常方便的讓你在網(wǎng)站某一區(qū)域設(shè)置包含變量循環(huán)等輸出,比如廣告模塊,日歷模塊,等等.

下面就介紹如何在thinkphp5中簡(jiǎn)單的使用這項(xiàng)功能.

首先我們需要在模塊目錄下,簡(jiǎn)歷widget目錄,然后在里面建立Blog控制器,然后在index的方法中寫下如下代碼:

注意,代碼中的Book為我自定義的模型,只是配合舉例來(lái)用.

當(dāng)然你可以繼承Controller,也可以選擇不繼承,這取決于你使用框架的習(xí)慣,當(dāng)然如果不繼承,你需要使用view助手渲染模板.

代碼的意思就是將模型Book中的數(shù)據(jù)取出,并賦值到模板中.

重點(diǎn):$this->fetch();不要以為里面不寫模板路徑就會(huì)默認(rèn)只想view視圖下blog文件夾中的index視圖,

在widget這里是不行的,必須填寫對(duì)應(yīng)視圖路徑

對(duì)應(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中代碼如下,僅作示例來(lái)用

在這里自定義輸出遍歷了指定內(nèi)容

{volist name="list" id="v"}
p>{$v.id}+{$v.bookname}/p>
{/volist}

你可以在實(shí)際應(yīng)用中使用任何想需要的功能,比如說(shuō)導(dǎo)航欄遍歷輸出,或者許多許多掛件模塊

如何調(diào)用呢,你可以在你的指定視圖模板中或者在繼承的公共模板中使用以下

{:widget('Blog/index')} 這種方式來(lái)輸出,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>這里顯示的默認(rèn)主頁(yè)輸出內(nèi)容/p>
  p>如果widget使用正常,下面將輸出遍歷一個(gè)數(shù)據(jù)表的內(nèi)容/p>
  {:widget('Blog/index')}
/body>
/html>

至此,完成輸出以下頁(yè)面!

這里顯示的默認(rèn)主頁(yè)輸出內(nèi)容

如果widget使用正常,下面將輸出遍歷一個(gè)數(shù)據(jù)表的內(nèi)容

1+weilai

2+yanyan

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • ThinkPHP的Widget擴(kuò)展實(shí)例
  • thinkPHP下的widget擴(kuò)展用法實(shí)例分析
  • ThinkPHP中Widget擴(kuò)展的兩種寫法及調(diào)用方法詳解
  • ThinkPHP3.1的Widget新用法
  • Thinkphp 框架擴(kuò)展之行為擴(kuò)展原理與實(shí)現(xiàn)方法分析
  • Thinkphp 框架擴(kuò)展之標(biāo)簽庫(kù)驅(qū)動(dòng)原理與用法分析
  • Thinkphp 框架擴(kuò)展之?dāng)?shù)據(jù)庫(kù)驅(qū)動(dòng)常用方法小結(jié)
  • Thinkphp 框架擴(kuò)展之類庫(kù)擴(kuò)展操作詳解
  • Thinkphp 框架擴(kuò)展之Widget擴(kuò)展實(shí)現(xiàn)方法分析

標(biāo)簽:張家口 林芝 山東 梅州 成都 泰州 巴中 威海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《thinkPHP5框架中widget的功能與用法詳解》,本文關(guān)鍵詞  thinkPHP5,框架,中,widget,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《thinkPHP5框架中widget的功能與用法詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于thinkPHP5框架中widget的功能與用法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章