欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Laravel框架之blade模板新手入門(mén)教程及小技巧

 更新時(shí)間:2017年12月10日 13:44:51   作者:不洗碗工作室  
Blade 是 laravel 提供的一個(gè)簡(jiǎn)單強(qiáng)大的模板引擎。下面這篇文章主要給大家介紹了關(guān)于Laravel框架之blade模板新手的入門(mén)教程以及一些使用的小技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。

簡(jiǎn)介

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

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

為什么要使用blade模板

  • 容易理解,思路清晰
  • 方便,直接可以在框架里使用,可以直觀(guān)的觀(guān)察到自己寫(xiě)的代碼的樣子
  • 對(duì)后臺(tái)數(shù)據(jù)的處理方便,blade模板和框架之間的參數(shù)傳遞實(shí)在是太方便了,可以說(shuō)是隨心所欲
  • 文檔齊全,有問(wèn)題基本可以查到
  • 適合單人開(kāi)發(fā),在完成后端實(shí)現(xiàn)后可以直接在blade模板里調(diào)用,寫(xiě)起來(lái)順手
  • 可以使用bootstrap等樣式來(lái)渲染頁(yè)面,可以達(dá)到一些基本的美化需求

局限性

  • 只能做一些簡(jiǎn)易的頁(yè)面,復(fù)雜的頁(yè)面還是前后端分離更加適合
  • 想不出來(lái)了,它是真的好用啊!作為一個(gè)小白寫(xiě)一個(gè)小型項(xiàng)目用這個(gè)東西真的是個(gè)神器

對(duì)模板使用的一些心得和理解

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

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

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

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

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

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

6、這樣就對(duì)文章的評(píng)論模塊進(jìn)行了實(shí)現(xiàn),是不是很簡(jiǎn)單!

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

8、比方說(shuō)我在創(chuàng)建一篇文章時(shí)要選擇文章所屬類(lèi)別,就可以將類(lèi)別服務(wù)注入進(jìn)來(lái)

小技巧

上面兩條是對(duì)基本操作的簡(jiǎn)要概述,下面我來(lái)分享一下我個(gè)人在使用blade時(shí)總結(jié)的幾個(gè)小竅門(mén)

懶人寫(xiě)法

想要寫(xiě)一個(gè)邏輯清晰的模板往往需要我們?cè)趧?chuàng)建目錄的時(shí)候下點(diǎn)功夫,比如使用合適的目錄結(jié)構(gòu)與命名等等,但是這個(gè)過(guò)程往往讓我們很痛苦(其實(shí)這樣是值得的,因?yàn)檫@樣做后期維護(hù)會(huì)很方便),因?yàn)楸緛?lái)不是很大的一個(gè)項(xiàng)目,我卻把時(shí)間浪費(fèi)在了給文件取名字和目錄結(jié)構(gòu)構(gòu)思上。所以我結(jié)合blade模板的if語(yǔ)句和參數(shù)傳遞,想出了一個(gè)可以在一個(gè)blade文件中完成多個(gè)頁(yè)面的寫(xiě)法

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

 

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

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

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

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

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

小結(jié)

blade模板與Laravel框架碰撞可以產(chǎn)生了令人意向不到的火花,它倆一定還有很多很多有趣的用法,這需要我們的想象力。有好多的需求和場(chǎng)景不一定需要我們掌握多么高難的技術(shù),靈活運(yùn)用手中已有的工具往往可以解決很多問(wèn)題。

PS:懶人寫(xiě)法僅試用小項(xiàng)目以及寫(xiě)著玩的時(shí)候,被領(lǐng)導(dǎo)或同伴發(fā)現(xiàn)是要被打死的

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論