Rumah pembangunan bahagian belakang tutorial php Laravel中Blade模板的使用详解

Laravel中Blade模板的使用详解

Sep 09, 2017 am 10:06 AM
blade laravel Penjelasan terperinci

Blade 是 laravel 提供的一个简单强大的模板引擎,下面这篇文章主要给大家介绍了关于Laravel框架中Blade模板用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

简介

Blade它不像其他流行的 PHP 模板引擎那样限制你在视图中使用原生的 PHP 代码,事实上它就是把 Blade 视图编译成原生的 PHP 代码并缓存起来。缓存会在 Blade 视图改变时而改变,这意味着 Blade 并没有给你的应用添加编译的负担。Blade 视图文件使用 .blade.php 后缀,一般情况下都被存储在 resources/views 目录。

1. 继承、片段、占位、组件、插槽

1.1 继承

1.1.1 定义父模板


Laravel/resources/views/base.blade.php
Salin selepas log masuk

1.1.2 子模板继承

路径:Laravel/resources/views/child.blade.php


@extends('base')
Salin selepas log masuk

1.2 片段

1.2.1 父模板定义片段


@section('part')
// 中间内容即使一个片段
@show
Salin selepas log masuk

1.2.2 子模板填充片段


@section('part')
Salin selepas log masuk

片段填充内容


@endsection
Salin selepas log masuk
Salin selepas log masuk

1.3 占位

1.3.1 父模板占位:


@yield('title')
Salin selepas log masuk

1.3.2 子模板填充占位

第一种填充(文本):


@section('title' , '填充的文本占位')
Salin selepas log masuk

第二种填充(文本 or html)


@section('title')
Salin selepas log masuk

填充的占位


@endsection
Salin selepas log masuk
Salin selepas log masuk

1.4 组件、插槽

1.4.1 定义组件

路径:Laravel/resources/views/component.blade.php


<p class=&#39;component&#39;>
 <!-- $title,$content 变量实际上就是预定义的插槽 -->
 <p class=&#39;title&#39;>{{ $title }}</p>
 <p class=&#39;content&#39;>{{ $content }}</p>
</p>
Salin selepas log masuk

1.4.2 使用组件

路径:Laravel/resources/views/test.blade.php


@component(&#39;component&#39;)
 @slot(&#39;title&#39;)
  组件标题
 @endsolt
 
 @slot(&#39;content&#39;)
  组件内容
 @endslot
@endcomponent
Salin selepas log masuk

2. 数据显示

2.1 转义输出


{{ $name }}
Salin selepas log masuk

2.2 未转义输出


{!! $name !!}
Salin selepas log masuk

2.3 原格式输出

第一种(适合量不多):


@{{ name }}
Salin selepas log masuk

第二种(适合量多):


@verbatim
{{ name }}
{{ sex }}
{{ age }}
@endverbatim
Salin selepas log masuk

3. 流程控制

3.1 for

注意:

  • 没有 $loop 变量

  • 没有 @empty

  • 有 @break

  • 有 @continue


@for ($i = 0; $i < 10; ++$i)
 {{ $i }} <br />
@endfor
Salin selepas log masuk

3.2 foreach

注意:

  • 有 $loop 变量

  • 没有 @empty

  • 有 @break

  • 有 @continue


@foreach ($data as $k => $v)
 {{ $k }} <br />
@endforeach
Salin selepas log masuk

3.3 forelse

注意:

  • 有 $loop 变量

  • 必须有 @empty

  • 有 @break

  • 有 @continue


@foreach ($data as $k => $v)
 {{ $k }} <br />
@empty
Salin selepas log masuk

数组没有数据


@endforeach
Salin selepas log masuk

4. 使用原生 PHP


@php 
echo "使用原生 PHP";
@endphp
Salin selepas log masuk

5. 包含子视图

注意

  • 被包含的子视图可以引用父视图定义的所有变量。

  • 你可以传递额外的数据到子视图

定义父视图 parent.blade.php,并包含子视图 child.blade.php,且传入额外数据


/**
 * 父视图
 * 父视图拥有变量 $name = &#39;chenxuelong&#39;
 */

<p class=&#39;parent&#39;>
 <p class=&#39;username&#39;>{{ $username }}</p>
 <p class=&#39;child&#39;>
  <!-- 包含子视图 -->
  @include(&#39;child&#39; , [
   &#39;other&#39; => &#39;额外数据&#39;
  ])
 </p>
</p>

/**
 * 子视图
 */
 <p class=&#39;username&#39;>{{ $username }}</p>
 <p class=&#39;other&#39;>{{ $other }}</p>
Salin selepas log masuk

总结

Atas ialah kandungan terperinci Laravel中Blade模板的使用详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Apr 01, 2025 pm 02:45 PM

Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Mar 31, 2025 pm 11:24 PM

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Mar 31, 2025 pm 11:48 PM

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Apr 01, 2025 am 07:09 AM

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Apr 01, 2025 am 07:45 AM

Kesan perkongsian sambungan Redis dalam rangka kerja Laravel dan pilih kaedah apabila menggunakan Rangka Kerja Laravel dan Redis, pemaju mungkin menghadapi masalah: melalui konfigurasi ...

Laravel Multi-Tenant Extension Stancl/Tenancy: Bagaimana Menyesuaikan Alamat Hos Sambungan Pangkalan Data Penyewa? Laravel Multi-Tenant Extension Stancl/Tenancy: Bagaimana Menyesuaikan Alamat Hos Sambungan Pangkalan Data Penyewa? Apr 01, 2025 am 09:09 AM

Sambungan pangkalan data penyewa tersuai dalam pakej lanjutan multi-penyewa Larave Stancl/penyewaan ketika membina aplikasi multi-penyewa menggunakan pakej lanjutan multi-penyewa Larave Stancl/penyewaan, ...

Laravel fasih orm dalam carian model separa Bangla) Laravel fasih orm dalam carian model separa Bangla) Apr 08, 2025 pm 02:06 PM

Pengambilan Model Laraveleloquent: Mudah mendapatkan data pangkalan data Eloquentorm menyediakan cara ringkas dan mudah difahami untuk mengendalikan pangkalan data. Artikel ini akan memperkenalkan pelbagai teknik carian model fasih secara terperinci untuk membantu anda mendapatkan data dari pangkalan data dengan cekap. 1. Dapatkan semua rekod. Gunakan kaedah semua () untuk mendapatkan semua rekod dalam jadual pangkalan data: USEAPP \ MODELS \ POST; $ POSTS = POST :: SEMUA (); Ini akan mengembalikan koleksi. Anda boleh mengakses data menggunakan gelung foreach atau kaedah pengumpulan lain: foreach ($ postsas $ post) {echo $ post->

Geospatial Laravel: Pengoptimuman peta interaktif dan sejumlah besar data Geospatial Laravel: Pengoptimuman peta interaktif dan sejumlah besar data Apr 08, 2025 pm 12:24 PM

Cecair memproses 7 juta rekod dan membuat peta interaktif dengan teknologi geospatial. Artikel ini meneroka cara memproses lebih dari 7 juta rekod menggunakan Laravel dan MySQL dan mengubahnya menjadi visualisasi peta interaktif. Keperluan Projek Cabaran Awal: Ekstrak Wawasan berharga menggunakan 7 juta rekod dalam pangkalan data MySQL. Ramai orang mula -mula mempertimbangkan bahasa pengaturcaraan, tetapi mengabaikan pangkalan data itu sendiri: Bolehkah ia memenuhi keperluan? Adakah penghijrahan data atau pelarasan struktur diperlukan? Bolehkah MySQL menahan beban data yang besar? Analisis awal: Penapis utama dan sifat perlu dikenalpasti. Selepas analisis, didapati bahawa hanya beberapa atribut yang berkaitan dengan penyelesaiannya. Kami mengesahkan kemungkinan penapis dan menetapkan beberapa sekatan untuk mengoptimumkan carian. Carian Peta Berdasarkan Bandar

See all articles