Laravel框架blade模板超新手級教程&小技巧


做者:不洗碗工做室 - Hanxiaobootstrap

版權歸做者全部,轉載請註明出處後端

爲何要使用blade模板

  • 容易理解,思路清晰
  • 方便,直接能夠在框架裏使用,能夠直觀的觀察到本身寫的代碼的樣子
  • 對後臺數據的處理方便,blade模板和框架之間的參數傳遞實在是太方便了,能夠說是爲所欲爲
  • 文檔齊全,有問題基本能夠查到
  • 適合單人開發,在完成後端實現後能夠直接在blade模板裏調用,寫起來順手
  • 可使用bootstrap等樣式來渲染頁面,能夠達到一些基本的美化需求

侷限性

  • 只能作一些簡易的頁面,複雜的頁面仍是先後端分離更加適合
  • 想不出來了,它是真的好用啊!做爲一個小白寫一個小型項目用這個東西真的是個神器

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

咱們不去談模板的功能實現方式,咱們只講使用

  1. 設計方式: 咱們能夠按照最簡單的思路來設計本身的blade模板,也就是看頁面,比方說咱們設計一個我的博客,咱們的導航欄和footer幾乎是不會變的,因此咱們就能夠先把這種每一個頁面都通用的地方獨立出來生成一個模板,而後讓別的頁面繼承這個獨立出來的模板,能夠理解爲別的頁面都都是基於這個頁面來佈置的bash

  2. 數據顯示: 重點來了,blade模板的參數傳遞實在是方便的很,在看文檔的時候咱們不難看出,後臺在return view的時候能夠給頁面附帶參數,而後咱們就能夠在頁面中以變量的形式直接調用數據。框架

  3. 例如文檔中給的例子: image前後端分離

  4. 這是最簡單的用法,咱們能夠對這個方法進行拓展,咱們返回的能夠是一個簡單的變量,也能夠是一個複雜的變量。工具

  5. 咱們還能夠在一個頁面調用一些方法,比方說框架自帶的用戶系統,咱們能夠在模板中直接使用方法Auth::check() imageurl

  6. 這樣就對文章的評論模塊進行了實現,是否是很簡單!spa

  7. 固然了,若是你想加入一些我的的服務,可使用服務注入(inject)image設計

  8. 比方說我在建立一篇文章時要選擇文章所屬類別,就能夠將類別服務注入進來3d

小技巧

  • 上面兩條是對基本操做的簡要概述,下面我來分享一下我我的在使用blade時總結的幾個小竅門
    • 懶人寫法
      • 想要寫一個邏輯清晰的模板每每須要咱們在建立目錄的時候下點功夫,好比使用合適的目錄結構與命名等等,可是這個過程每每讓咱們很痛苦(其實這樣是值得的,由於這樣作後期維護會很方便),由於原本不是很大的一個項目,我卻把時間浪費在了給文件取名字和目錄結構構思上。因此我結合blade模板的if語句和參數傳遞,想出了一個能夠在一個blade文件中完成多個頁面的寫法
      • 具體實現以下:在return view時,咱們多加一個參數,route參數,而後在blade模板文件裏對route的值進行判斷,不一樣的方法返回的route值不一樣,這樣咱們就能夠經過if語句來進行判斷,從而選擇顯示不一樣的視圖。 image抽象一些就是這樣,左邊是經常使用寫法,右邊是咱們的懶人寫法
    • 路由與參數結合
      • 舉個最簡單的例子就是博客文章系統,具體實現:咱們能夠這樣設置路由
      • Route::get('/article-{article_id}','ArticleController@showArticle');
      • 在頁面中這樣佈置對應的文章連接<a href="{{url('/article/'.$article->id)}}">{{ $article->title }}</a>

小結

blade模板與Laravel框架碰撞能夠產生了使人意向不到的火花,它倆必定還有不少不少有趣的用法,這須要咱們的想象力。有好多的需求和場景不必定須要咱們掌握多麼高難的技術,靈活運用手中已有的工具每每能夠解決不少問題。

PS:懶人寫法僅試用小項目以及寫着玩的時候,被領導或同伴發現是要被打死的
但願我舉的例子可以引發你的一些思考,給予你一些靈感∩_∩複製代碼
相關文章
相關標籤/搜索