我正在使用Laravel开展这个项目.
根据本教程,我正在观看,我不得不在主视图的顶部添加这些代码.
@extends('layouts.masters.main')
Run Code Online (Sandbox Code Playgroud)
由于我是Laravel的新手,这让我想知道为什么我不能简单地使用.
@include('layouts.masters.main')
Run Code Online (Sandbox Code Playgroud)
我尝试了它,它基本上做了同样的事情.唯一的问题是我知道如何包含作品,但我真的不知道扩展的作用.有什么区别,所以是的,它是什么.为什么教程人员会去,@extends而不是 @include.
Jon*_*hon 29
@include 就像一个基本的PHP包含,它包含一个"部分"视图到您的视图.
@extends让你"扩展"一个模板,它定义了自己的部分等.你可以扩展的模板将定义自己的部分@yield,然后你可以将自己的东西放入你的视图文件中.
例:
template.blade.php
<html>
<body>
@yield('header')
@yield('content')
@yield('footer')
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
视图one.blade.php
@extends('template')
@section('header')
View one's header
@endsection
@section('content')
View one's content
@endsection
@section('footer')
View one's footer
@endsection
Run Code Online (Sandbox Code Playgroud)
这将导致:
<html>
<body>
View one's header
View one's content
View one's footer
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
现在,您可以创建另一个扩展相同模板的视图,但提供自己的部分.
使用的另一个好处@extend是继承.您可以提供一个基本模板,然后是另一个扩展该模板的子模板,随后会生成它自己的部分.然后,您可以扩展该子模板.
@include没有提供使用@extend扩展布局模板的结构骨架。随着@include您从另一个文件插入部分。
扩展刀片模板可为布局模板中定义的视图提供结构。例如,布局:
layouts / layout.blade.php
<!DOCTYPE html><html lang="en">
<head> <meta charset="UTF-8" /><title>DOCUMENT</title></head>
<body>
@yield('header')
@yield('content_1')
@yield('content_2')
@yield('content_3')
@yield('footer')
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
与观点
show.blade.php
@extends('layouts.layout')
@section('content_1')
<h2>Content1 Puppy Dog</h2>
@endsection
@section('footer')
<h1>I wanna be at the bottom</h1>
@endsection
@section ('content_3')
<h2>Content3 Horsie</h2>
@endsection
@section ('content_2')
<h2>Content2 Kitty Cat</h2>
@endsection
@section('header')
<h1>I wanna be at the top</h1>
@endsection
Run Code Online (Sandbox Code Playgroud)
给出输出:
<body>
<h1>I wanna be at the top</h1>
<h2>Content1 Puppy Dog</h2>
<h2>Content2 Kitty Cat</h2>
<h2>Content3 Horsie</h2>
<h1>I wanna be at the bottom</h1>
</body>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23877 次 |
| 最近记录: |