校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Laravel 5.1 框架Blade模板引擎用法實例分析

Laravel 5.1 框架Blade模板引擎用法實例分析

熱門標簽:青島語音外呼系統招商 岳陽外呼型呼叫中心系統在哪里 河南電銷卡外呼系統哪家強 揚州地圖標注app 騰訊外呼管理系統 百應電話機器人服務 山西回撥外呼系統 昭通辦理400電話 山西探意電話機器人

本文實例講述了Laravel 5.1 框架Blade模板引擎用法。分享給大家供大家參考,具體如下:

為什么要使用blade 它是干什么用的?

blade模板引擎使我們寫HTML頁面的地方,使用它是因為它能給我們提供很多的遍歷,減少代碼的重復率 提高開發效率。我們寫blade的路徑是 resources/view 下,它的文件名后綴是blade.php。

1 繼承

繼承是相當爽的,它可以從主模板繼承所有代碼,以免大量的代碼重復。這樣說比較片面,具體看眼代碼吧。

1.1 模板繼承拓展 代碼片段

首先先創建一個 admin/layout.blade.php:

!DOCTYPE html>
html>
head>
  title>Learn Laravel-- @yield('title')/title>
/head>
body>
  @section('navibar')
    The master navigation bar
  @show
  div class="container">
    @yield('content')
  /div>
/body>
/html>

然后創建 admin/home.blade.php 繼承自layout:

@extends('admin.layout')
@section('title')
  Home
@endsection
@section('navibar')
  @parent
  p>增加別的代碼 不是完全覆蓋/p>
@endsection
@section('content')
  p>Content body/p>
@endsection

注冊路由 實現控制器方法并展示

Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function (){
  Route::resource('/', 'HomeController');
});
  public function index()
  {
    return view('admin.home');
  }

總結: 好了 現在咱先看layout代碼 它初始定義了一個HTML簡單的模板,在需要拓展的地方都加上了@yield關鍵字 這代表可填充的一塊兒代碼片段區域,而@section(navi)是聲明了一段片段 然后通過@show來展示。

然后我們創建了home文件,它可以繼承自layout 通過@extends() 繼承之后就可以使用@section填充layout中的@yield的了,一個yield對應著一個section,關于layout中的@section(navi) 在home中也進行了補充 因為使用了@parent關鍵字,代表著不覆蓋父模板的代碼片段 而是在父模板的代碼片段最后追加代碼,當然啦 如果你要是去掉@parent關鍵字就會覆蓋掉。

如果這么說你還是不明白的話,打開編譯器敲一遍 看看結果就清楚了。

1.2 引入一段代碼

這也是blade相當強大的地方 當你寫了一段HTML之后呢 發現其中有些內容在別的頁面下重用率很高,你完全可以把它抽出來放在另一個blade中,然后每當你要使用這段代碼時使用@include引入就行了。

首先我們先來創建一個 some.blade.php(至于放在哪里隨你便) :

p>這只是一個演示 所以不浪費時間寫太多的HTML/p>

然后在home中引用它吧:

@extends('admin.layout')
@section('title')
  Home
@endsection
@section('navibar')
  @parent
  p>增加別的代碼 不是完全覆蓋/p>
@endsection
@section('content')
  @include('admin.some')
  p>Content body/p>
@endsection

2 數據展示

這段說說如何將數據傳入到一個視圖 然后將它展示到頁面上。

2.1 數據傳入

數據傳入有兩種種方法 先說第一種 數組方式:

  public function index()
  {
    $name = 'K';
    return view('admin.home', compact('name'));
    // 也可以這么寫
//    return view('admin.home', ['name' => $name]);
  }

第二種方法是with方法:

  public function index()
  {
    $name = 'K';
    return view('admin.home')->with('name', $name);
  }

2.2 展示數據

第一種展示方法 {{ }},用雙花括號括起來就可以展示傳入blade模板的變量,在{{ }} 里是可以使用PHP代碼的:

p>用戶:{{ $name }}/p>

第二種展示方法{!!  !!},它是不經過htmlentities函數處理的,所以說你傳遞的數據是html數據的話 可以使用這種方法:

return view('admin.home')->with('name', 'h1>K/h1>');
p>用戶:{!! $name !!}/p>

3 控制語句

blade模板為了最大化使代碼簡潔呢 它本身自帶了很多控制語句 這跟咱學的PHP很類似,就是if啊 foreach啊什么的

3.1 if控制 - 如果

廢話不多說 實例放這你就能懂:

  @if(isset($name))
    p>{{ $name }}/p>
  @else
    p>None/p>
  @endif

3.2 unless控制 - 除非

  @unless(!isset($name))
    p>{{ $name }}/p>
  @endunless

3.3 for控制 - 循環

  @for ($i = 0; $i  10; $i++)
    p>{{ $i }}/p>
  @endfor

3.4 foreach控制 - 循環遍歷

  {{--$names = ['k', 'l', 'i'];--}}
  @foreach($names as $name)
    p>{{ $name }}/p>
  @endforeach

更多關于Laravel相關內容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優秀開發框架總結》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • Laravel實現通過blade模板引擎渲染視圖
  • Laravel中的Blade模板引擎示例詳解
  • Laravel模板引擎Blade中section的一些標簽的區別介紹
  • Laravel 5框架學習之Blade 簡介
  • Laravel框架中Blade模板的用法示例
  • Laravel框架之blade模板新手入門教程及小技巧
  • 解決Laravel blade模板轉義html標簽的問題
  • 在Laravel 的 Blade 模版中實現定義變量
  • Laravel 實現在Blade模版中使用全局變量代替路徑的例子
  • laravel框架實現為 Blade 模板引擎添加新文件擴展名操作示例

標簽:南陽 鎮江 黃南 銅川 湛江 寶雞 婁底 宜賓

巨人網絡通訊聲明:本文標題《Laravel 5.1 框架Blade模板引擎用法實例分析》,本文關鍵詞  Laravel,5.1,框架,Blade,模板,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Laravel 5.1 框架Blade模板引擎用法實例分析》相關的同類信息!
  • 本頁收集關于Laravel 5.1 框架Blade模板引擎用法實例分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 陇南市| 应城市| 米易县| 密云县| 威海市| 安图县| 嘉禾县| 泌阳县| 囊谦县| 吉木乃县| 右玉县| 富阳市| 林口县| 铁岭县| 嘉义县| 桃江县| 依兰县| 乌兰察布市| 那坡县| 阿克苏市| 岗巴县| 中卫市| 青州市| 米易县| 通城县| 九台市| 太原市| 连南| 象山县| 罗源县| 东山县| 林芝县| 和平县| 霍林郭勒市| 嘉兴市| 德州市| 出国| 札达县| 遂溪县| 汝南县| 莱芜市|