这里有两张方法向模板传数据,一种是include,另外一种是yield标记方法

布局视图:

<!-- 文件保存于 resources/views/layouts/home.blade.php --><html>
    <head>
        <title>应用程序名称 - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
            这是主要的侧边栏。
        @show       
        <div class="container">
            @yield('content')
        </div>
    </body>
    </html>

其中在布局视图中可以用yield和section两种方式标记,但是section标记必须要@show结尾,在主布局视图中用section方式标记一般是在它中间还有其他的内容,而这个内容在子视图中必须要用parent标记来继承,否则将被覆盖

子视图:

<!-- 保存于 resources/views/home/index.blade.php -->
@extends('layouts.home')
@section('title', '页面标题')
@section('sidebar')
    @parent
  <p>这边会附加在主要的侧边栏。</p>
  @endsection
@section('content')
   <p>这是我的主要内容。</p>
 @endsection

而include方式导入公共的部分刚好是跟上面的方法是相对的,标记方法是先写好整个页面,然后调用子视图继承布局视图,标记哪个就替换哪个。而include方法就是我们常用的那种,先把公共的部分分离出来,然后到具体的页面,缺哪个部分就加上哪个部分。如下所示,先把header.blade.php和footer.blade.php文件保存到resouces/views/common文件夹中

<!-- 保存于 resources/views/common/header.blade.php -->
<div class="header"> 我是头部部分--{{$page}}</div>
<!-- 保存于 resources/views/common/footer.blade.php -->
<div class="footer"> 我是尾部部分</div>
<!-- 下面是news文件 resources/views/news.blade.php 的代码-->
 <head>
        <title>雷小天个人博客</title>
    </head>
    <body> 
        include('common.header',['page'=>'文章页'])     
        <div class="middle"> 我是中间部分</div>
        include('common.footer')     
    </body>
    </html>