📅  最后修改于: 2021-01-05 10:44:24             🧑  作者: Mango
母版页布局定义了所有网页上的通用布局。所有Web应用程序都具有母版页布局,以定义所有Web页面上的通用布局。刀片模板引擎定义了可以由所有网页扩展的主版面。主页页面布局位于/ resources / views / layouts /目录中。
让我们通过一个例子来理解。
master.blade.php
Master Page Layout
@yield('content')
@yield('footer')
在上面的代码中,我们使用了@yield指令。 @yield用于显示内容。 @yield('content')显示内容的内容,而@yield('footer')显示页脚的内容。
Contact.blade.php
@extends('layout.master')
@section('content')
Contact Page
@stop
在上面的代码中,我们使用@extends指令。 “ @extends ”指令用于继承contact.blade.php文件中的刀片布局。 '@section('content')'定义了内容的部分。
Route::get('/contact', function () {
return view('contact');
});
输出量
我们还可以在contact.blade.php文件中添加javascript代码。假设我在contact.blade.php文件中添加了以下代码。
@section('footer')
@stop
在上面的代码中,我创建了警报框,其中显示消息“ Hello JavaTpoint ”。
输出量
让我们看一下刀片模板的另一个示例。
post.blade.php
@extends('layout.master')
@section('content')
Post Page:
id is :{{$id}}
Password is :{{$password}}
Name is : {{$name}}
@stop
上面的代码定义了内容的部分,我们分别在其中显示id,password和name的值。
PostController.php
在PostController.php文件中,我们定义了一个名为show_post()的新函数,该函数将数据传递到post.blade.php文件。
web.php
Route::get('/post/{id}/{password}/{name}','PostController@show_post');
输出量
到目前为止,我们已经看到post.blade.php和contact.blade.php文件都在扩展主布局文件。这是主布局的主要优点,即每个文件都可以扩展主文件的布局并添加自己的功能。
@parent指令的使用是显示在主版式中定义的部分的内容。
让我们通过一个例子来理解。
master.blade.php
Master Page Layout
@yield('content')
@section('footer')
This is footer
@show
@extends('layout.master')
@section('content')
Contact Page
@stop
@section('footer')
@parent
this is appended
@stop
在上面的代码中, @parent指令将段落内容添加到页脚节。
输出量