視圖

視圖

  • 到目前為止,我們已經(jīng)接觸了一些路由閉包,并看到了return view('account')的一些內(nèi)容,對(duì)于MVC模式來說,視圖或模般指的是用于描述某些特定輸出應(yīng)該是什么樣的文件,在Web框架中最常見的視圖是用html進(jìn)行輸出的

  • 在Laravel中,有兩種視圖可以使用,分別為PHP和Blade模板,兩種視圖的區(qū)別在于,使用PHP引擎進(jìn)行處理的文件名形式一般為about.php,而用Blade引擎進(jìn)行處理的文件名形式一般為about.blade.php

  • 返回視圖有三種不同的方法,第一種是直接使用view()加載,第二種是用View::make()加載,第三種是用注入Illuminate\View\View Factory 的方式實(shí)現(xiàn)視圖的加載

  • 樣例

    • 不傳參數(shù)

      Route::get('/', function() {
          return view('welcome');
      });
      

      此代碼可以在resource/views/welcome.php中或resoure/views/welcome.blade.php中查找視圖,加載其內(nèi)容,以及解析任何內(nèi)聯(lián)PHP或控件結(jié)構(gòu),直到有視圖的輸出。一旦返回它,它將被傳遞到響應(yīng)棧的其余部分,并且最終被返回給用戶

    • 傳參數(shù)

      Route::get('tasks', function() {
          return view('tasks.index')->with('tasks', Task::all());
      });
      

      這個(gè)閉包加載resource/views/tasks/index.php或resource/views/tasks/index.blade.php,同時(shí)會(huì)傳遞一個(gè)名為tasks的單個(gè)變量給視圖,該變量包含Task::all()方法所返回的結(jié)果,該方法是一個(gè)優(yōu)秀的數(shù)據(jù)庫查詢辦法

  • 視圖Composer

    • 多次傳遞同一個(gè)變量可能是繁瑣的事,這就可以使用一個(gè)共享變量與每個(gè)模板進(jìn)行共享

      view()->share('variableName', 'variableValue');
      
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 從零學(xué)Laravel目錄列表 在程序界最熟悉的莫過于"Hello World",通過輸出"Hello Word",...
    ZhouJiping閱讀 1,622評(píng)論 1 3
  • 基于類的視圖 Django中的視圖是一個(gè)可調(diào)用對(duì)象,它接收一個(gè)請(qǐng)求然后返回一個(gè)響應(yīng)。這個(gè)可調(diào)用對(duì)象不僅僅限于函數(shù),...
    蘭山小亭閱讀 4,761評(píng)論 1 13
  • 視圖view包含應(yīng)用程序app所要渲染的HTML代碼,目的是將應(yīng)用的顯示邏輯和控制邏輯進(jìn)行分離,即分離控制器con...
    JunChow520閱讀 2,510評(píng)論 0 2
  • 從小玩到大的閨蜜 脫單了黨 對(duì)方是初一的前后桌 高中的同校 去年高考填志愿 她糾結(jié)廣州還是深圳 最后得知他來廣州 ...
    1513閱讀 307評(píng)論 0 0
  • 概述 單線程模型 JavaScript 同時(shí)只能執(zhí)行一個(gè)任務(wù),其他任務(wù)都必須在后面排隊(duì)等待。 引擎有多個(gè)線程,單個(gè)...
    少年啊兵閱讀 637評(píng)論 0 0

友情鏈接更多精彩內(nèi)容