美文网首页
Laravel Blade 模板引擎

Laravel Blade 模板引擎

作者: 捔落纏綿 | 来源:发表于2017-05-16 11:26 被阅读0次
图片.png

新建模板文件

图片.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>@yield('title','Title')</title>
    <style>
        .header{
            width: 1000px;
            height: 150px;
            margin:0 auto;
            background: #f5f5f5;
            border: 1px solid #dddddd;
        }
        .main{
            width: 1000px;
            height: 300px;
            margin: 0 auto;
            margin-top: 15px;
            clear: both;
        }
        .main .sidebar{
            width: 150px;
            height: 300px;
            float:left;
            margin-right: 15px;
            background: #f5f5f5;
            border: 1px solid #dddddd;

        }
        .main .content{
            width: 830px;
            height: 300px;
            float:left;
            background: #f5f5f5;
            border: 1px solid #dddddd;

        }
        .footer{
            width: 1000px;
            height: 150px;
            margin:0 auto;
            background: #f5f5f5;
            border: 1px solid #dddddd;
            margin-top: 15px;
        }
    </style>
</head>
<body>
<div class="header">
    @section('header')
        头部
    @show

</div>
<div class="main">
    <div class="sidebar">
        @section('sidebar')
        侧边栏
        @show
    </div>
    <div class="content">
        @yield('content','主要内容区域')
    </div>

</div>

<div class="footer">
    @section('footer')
    底部
    @show
</div>
</body>
</html>

1.@yield 和 @section 都可以预定义可替代的区块,这两者有什么区别呢?
2.@section 可以用 @show, @stop, @overwrite 以及 @append 来结束,这三者又有什么区别呢?

@yield 与 @section 区别

首先,@yield 是不可扩展的,如果你要定义的部分没有默认内容让子模板扩展的,那么用 @yield($name, $default) 的形式会比较方便,如果你在子模板中并没有指定这个区块的内容,它就会显示默认内容,如果定义了,就会显示你定义的内容。非此即彼。

与之相比, @section 则既可以被替代,又可以被扩展,这是最大的区别

@show 与 @stop

接下来再说说与 @section 对应的结束关键字,@show, @stop 有什么区别呢?(网上的部分文章,以及一些编辑器插件还会提示 @endsection, 这个在 4.0 版本中已经被移除,虽然向下兼容,但是不建议使用)。

@show 指的是执行到此处时将该 section 中的内容输出到页面,而 @stop 则只是进行内容解析,并且不再处理当前模板中后续对该section的处理,除非用 @override覆盖(详见下一部分)。通常来说,在首次定义某个 section 的时候,应该用 @show,而在替换它或者扩展它的时候,不应该用 @show,应该用 @stop。

建视图

图片.png
@extends('layout')  {{--继承视图--}}

@section('header') {{--重写视图--}}
    @parent   {{--继承父模板--}}
    header
@stop
@section('header') {{--重写视图--}}
header            {{--完全重写--}}
@stop

@section('content')
   content
@stop

相关文章

  • Laravel 文档阅读:Blade 模板

    简介 Blade 是 Laravel 提供的模板引擎,它简单强大。不像其他的 PHP 模板引擎,Blade 允许在...

  • laravel 基础教程 —— Blade 模板引擎

    Blade 模板引擎 简介 Blade 是 laravel 提供的一个简单强大的模板引擎。它不像其他流行的 PHP...

  • Laravel(四)

    Blade模板引擎简介 Blade是Laravel提供的一个既简单又强大的模板引擎和其它流行的PHP模板引擎不一样...

  • Blade - 模板

    Blade - 模板 是laravel中的模板引擎 两大特性 1. 模板继承 @extends('layouts....

  • PHP Laravel学习之Blade基础

    官方文档传送门:Blade 模板引擎 Blade 简介 Blade 是由Laravel提供的非常简单但功能强大的模...

  • Laravel学习笔记-Blade模板

    一、概述 Blade是Laravel提供的一个既简单又强大的模板引擎 和其他流行的PHP模板引擎不一样,Blade...

  • laravel 5 blade

    参考Blade 模板引擎。Blade是一个模板引擎(什么叫模板引擎,参考浅谈模板引擎),文件需要采用blade.p...

  • Laravel Blade 模板引擎

    新建模板文件 1.@yield 和 @section 都可以预定义可替代的区块,这两者有什么区别呢?2.@sect...

  • 闲的没事学laravel Blade模板引擎

    Blade 是由 Laravel 提供的非常简单但功能强大的模板引擎,不同于其他流行的 PHP 模板引擎,Blad...

  • Laravel研究之增加引擎解析模板的扩展名

    猫猫应该放在最前 学前教育 学过laravel的人都知道,在laravel中使用的视图模板引擎blade,来看看官...

网友评论

      本文标题:Laravel Blade 模板引擎

      本文链接:https://www.haomeiwen.com/subject/toyhxxtx.html