溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Laravel框架之blade模板怎么用

發(fā)布時間:2021-09-07 09:24:28 來源:億速云 閱讀:126 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)Laravel框架之blade模板怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

簡介

Blade 是 Laravel 所提供的一個簡單且強大的模板引擎。相較于其它知名的 PHP 模板引擎,Blade 并不會限制你必須得在視圖中使用 PHP 代碼。所有 Blade 視圖都會被編譯緩存成普通的 PHP 代碼,一直到它們被更改為止。這代表 Blade 基本不會對你的應(yīng)用程序生成負擔(dān)。

Blade 視圖文件使用 .blade.php 做為擴展名,通常保存于 resources/views 文件夾內(nèi)。

為什么要使用blade模板

  • 容易理解,思路清晰

  • 方便,直接可以在框架里使用,可以直觀的觀察到自己寫的代碼的樣子

  • 對后臺數(shù)據(jù)的處理方便,blade模板和框架之間的參數(shù)傳遞實在是太方便了,可以說是隨心所欲

  • 文檔齊全,有問題基本可以查到

  • 適合單人開發(fā),在完成后端實現(xiàn)后可以直接在blade模板里調(diào)用,寫起來順手

  • 可以使用bootstrap等樣式來渲染頁面,可以達到一些基本的美化需求

局限性

  • 只能做一些簡易的頁面,復(fù)雜的頁面還是前后端分離更加適合

  • 想不出來了,它是真的好用啊!作為一個小白寫一個小型項目用這個東西真的是個神器

對模板使用的一些心得和理解

我們不去談模板的功能實現(xiàn)方式,我們只講使用

1、設(shè)計方式: 我們可以按照最簡單的思路來設(shè)計自己的blade模板,也就是看頁面,比方說我們設(shè)計一個個人博客,我們的導(dǎo)航欄和footer幾乎是不會變的,所以我們就可以先把這種每個頁面都通用的地方 獨立出來 生成一個模板,然后讓別的頁面 繼承 這個獨立出來的模板,可以理解為別的頁面都都是 基于 這個頁面來布置的

2、數(shù)據(jù)顯示: 重點來了,blade模板的參數(shù)傳遞實在是方便的很,在看文檔的時候我們不難看出,后臺在 return view 的時候可以給頁面 附帶參數(shù) ,然后我們就可以在頁面中以 變量 的形式直接調(diào)用數(shù)據(jù)。

3、例如文檔中給的例子:

Laravel框架之blade模板怎么用

4、這是最簡單的用法,我們可以對這個方法進行拓展,我們返回的可以是一個簡單的變量,也可以是一個復(fù)雜的變量。

5、我們還可以在一個頁面調(diào)用一些方法,比方說框架自帶的用戶系統(tǒng),我們可以在模板中直接使用方法 Auth::check()

Laravel框架之blade模板怎么用

6、這樣就對文章的評論模塊進行了實現(xiàn),是不是很簡單!

7、當然了,如果你想加入一些個人的服務(wù),可以使用 服務(wù)注入(inject)

Laravel框架之blade模板怎么用

8、比方說我在創(chuàng)建一篇文章時要選擇文章所屬類別,就可以將類別服務(wù)注入進來

小技巧

上面兩條是對基本操作的簡要概述,下面我來分享一下我個人在使用blade時總結(jié)的幾個小竅門

懶人寫法

想要寫一個邏輯清晰的模板往往需要我們在創(chuàng)建目錄的時候下點功夫,比如使用合適的目錄結(jié)構(gòu)與命名等等,但是這個過程往往讓我們很痛苦(其實這樣是值得的,因為這樣做后期維護會很方便),因為本來不是很大的一個項目,我卻把時間浪費在了給文件取名字和目錄結(jié)構(gòu)構(gòu)思上。所以我結(jié)合blade模板的if語句和參數(shù)傳遞,想出了一個可以在一個blade文件中完成多個頁面的寫法

具體實現(xiàn)如下:在 return view 時,我們多加一個參數(shù), route 參數(shù),然后在blade模板文件里對route的值進行判斷,不同的方法返回的 route 值不同,這樣我們就可以通過 if 語句來進行判斷,從而選擇顯示不同的視圖。

Laravel框架之blade模板怎么用 

抽象一些就是這樣,左邊是常用寫法,右邊是我們的懶人寫法

路由與參數(shù)結(jié)合

舉個最簡單的例子就是博客文章系統(tǒng),具體實現(xiàn):我們可以這樣設(shè)置路由

Route::get('/article-{article_id}','ArticleController@showArticle');

在頁面中這樣布置對應(yīng)的文章鏈接 <a href="{{url('/article/'.$article->id)}}" rel="external nofollow" >{{ $article->title }}</a>

關(guān)于“Laravel框架之blade模板怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI