Laravel模板继承

本文概述

  • 母版页布局
  • 扩展主版面
  • 使用@parent指令
母版页布局 母版页布局定义了所有网页上的通用布局。所有Web应用程序都具有母版页布局, 以定义所有Web页面上的通用布局。刀片模板引擎定义了可以由所有网页扩展的主版面。主页页面布局位于/ resources / views / layouts /目录中。
让我们通过一个例子来理解。
  • 首先, 在resources / views /目录中创建名为“ layout”的文件夹。
  • 现在, 在布局文件夹“ master.blade.php”中创建一个新文件。
  • 我们在master.blade.php文件中添加以下代码。
master.blade.php
< html> < head> < title> Master Page Layout < /title> < /head> < body> < div class="container"> @yield('content')< /div> @yield('footer')< /body> < /html>

【Laravel模板继承】在上面的代码中, 我们使用了@yield指令。 @yield用于显示内容。 @yield(’ content’ )显示内容的内容, 而@yield(’ footer’ )显示页脚的内容。
扩展主版面
  • 现在, 我们将在contact.blade.php文件中扩展上述主布局, 如下所示:
Contact.blade.php
@extends('layout.master')@section('content')< h1> Contact Page < /h1> @stop

在上面的代码中, 我们使用@extends指令。 “ @extends”指令用于继承contact.blade.php文件中的刀片布局。 ‘ @section(’ content’ )’ 定义了内容的部分。
  • 现在, 在web.php文件中添加以下路由。
Route::get('/contact', function () {return view('contact'); });

输出量
Laravel模板继承

文章图片
我们还可以在contact.blade.php文件中添加javascript代码。假设我在contact.blade.php文件中添加了以下代码。
@section('footer')< script> alert("Hello srcmini") < /script> @stop

在上面的代码中, 我创建了警报框, 其中显示了消息“ Hello srcmini”。
输出量
Laravel模板继承

文章图片
让我们看一下刀片模板的另一个示例。
  • 我们创建一个名为“ post.blade.php”的新文件。
post.blade.php
@extends('layout.master')@section('content')< h1> Post Page:< /h1> < h2> id is :{{$id}}< br> Password is :{{$password}}< br> Name is : {{$name}}< /h2> @stop

上面的代码定义了内容的一部分, 我们分别在其中显示id, password和name的值。
  • 现在, 我们创建一个名为“ PostController.php”的控制器。
PostController.php
< ?phpnamespace App\Http\Controllers; use Illuminate\Http\Request; class PostController extends Controller{// public function show_post($id, $password, $name){return view('post', compact('id', 'password', 'name')); }}

在PostController.php文件中, 我们定义了一个名为show_post()的新函数, 该函数将数据传递到post.blade.php文件。
  • 最后, 我们在web.php文件中定义一条路由。
web.php
Route::get('/post/{id}/{password}/{name}', 'PostController@show_post');

输出量
Laravel模板继承

文章图片
到目前为止, 我们已经看到post.blade.php和contact.blade.php文件都在扩展主布局文件。这是主布局的主要优点, 即每个文件都可以扩展主文件的布局并添加自己的功能。
使用@parent指令 @parent指令的用途是显示在主版式中定义的部分的内容。
让我们通过一个例子来理解。
  • 首先, 我们创建一个主文件。
master.blade.php
< html> < head> < title> Master Page Layout < /title> < /head> < body> < div class="container"> @yield('content')< /div> @section('footer')This is footer @show< /body> < /html>

  • 现在, 我们创建contact.blade.php, 在其中扩展上面的master.blade.php文件。
@extends('layout.master')@section('content')< h1> Contact Page< /h1> @stop @section('footer')@parent< p> this is appended< /p> @stop

在上面的代码中, @parent指令将段落内容添加到页脚节。
输出量
Laravel模板继承

文章图片

    推荐阅读