激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - Laravel 5.1 框架Blade模板引擎用法實例分析

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

2021-09-26 13:35Sky_sunkang PHP教程

這篇文章主要介紹了Laravel 5.1 框架Blade模板引擎用法,結合實例形式分析了laravel5.1框架Blade模板引擎基本功能、創建、使用方法及相關操作注意事項,需要的朋友可以參考下

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

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

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

1 繼承

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

1.1 模板繼承拓展 代碼片段

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!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:

?
1
2
3
4
5
6
7
8
9
10
11
@extends('admin.layout')
@section('title')
  Home
@endsection
@section('navibar')
  @parent
  <p>增加別的代碼 不是完全覆蓋</p>
@endsection
@section('content')
  <p>Content body</p>
@endsection

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

?
1
2
3
4
5
6
7
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(至于放在哪里隨你便) :

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

然后在home中引用它吧:

?
1
2
3
4
5
6
7
8
9
10
11
12
@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 數據傳入

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

?
1
2
3
4
5
6
7
  public function index()
  {
    $name = 'K';
    return view('admin.home', compact('name'));
    // 也可以這么寫
//    return view('admin.home', ['name' => $name]);
  }

第二種方法是with方法:

?
1
2
3
4
5
public function index()
{
  $name = 'K';
  return view('admin.home')->with('name', $name);
}

2.2 展示數據

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

?
1
<p>用戶:{{ $name }}</p>

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

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

3 控制語句

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

3.1 if控制 - 如果

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

?
1
2
3
4
5
@if(isset($name))
  <p>{{ $name }}</p>
@else
  <p>None</p>
@endif

3.2 unless控制 - 除非

?
1
2
3
@unless(!isset($name))
  <p>{{ $name }}</p>
@endunless

3.3 for控制 - 循環

?
1
2
3
@for ($i = 0; $i < 10; $i++)
  <p>{{ $i }}</p>
@endfor

3.4 foreach控制 - 循環遍歷

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

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

原文鏈接:https://www.cnblogs.com/sun-kang/p/7296422.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黄在线 | 一区二区三区日韩精品 | 国产精品久久久久久久亚洲按摩 | 91av国产在线| 日本教室三级在线看 | 粉色视频污 | 欧美一级成人 | 在线播放免费人成毛片乱码 | 亚洲第九十九页 | 特级黄aaaaaaaaa毛片 | 中国hdxxxx护士爽在线观看 | 亚洲欧洲日韩av | 精品黑人一区二区三区国语馆 | 亚洲第一激情 | 依依成人综合 | lutube成人福利在线观看污 | 国产青草视频在线观看视频 | 一级毛片在线视频 | 久久国产精品一区 | 国产精品成人av片免费看最爱 | 欧美 亚洲 视频 | 在线视频 日韩 | 欧美一级免费看 | 伊人欧美视频 | 亚洲射逼| 国产精品一区二av18款 | 九一国产精品 | 日韩黄色片免费看 | 91久久夜色精品国产网站 | 色就操 | 久久精品99久久久久久2456 | 亚洲少妇诱惑 | 国产chinesehd精品91 | 精品伊人 | 欧美a∨一区二区三区久久黄 | 国产一区二区三区四区五区精品 | 美女黄色影院 | 黄色av免费电影 | 天天鲁在线视频免费观看 | 国产精品久久久久久久av | 久久久久久久久久久久网站 |