如何在 Laravel 5.1 中定义 "Master Layout"

How to define a "Master Layout" in Laravel 5.1

我从 4.2 开始使用 Laravel 5.1,我对控制器中布局的定义有疑问。

在 4.2 中我有这个:

private $layout = 'layouts.master';

public function showWelcome()
{
    $this->layout->content =  View::make('home');
}

加载视图时,"Home" 视图将出现在布局文件夹中 "master.blade.php" 的 @yield('section') 中。

我搜索了如何在 5.1 中使用它,我看到 layout.masters 的分配已被删除,但我在任何地方都看不到新用法。

现在 5.1 我有:

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use View;

class HomeController extends BaseController
{
    public function showWelcome()
    {
        return view('home');
    }
}

我如何告诉 showWelcome() 函数它必须通过视图生成内容?

在 Laravel 5.1 中,您可以在 blade 文件中扩展主布局,写在顶部 @extends('layouts.master')From Laravel 5.1 Documentation

    <!-- Stored in resources/views/child.blade.php -->

    @extends('layouts.master')

    @section('title', 'Page Title')

    @section('sidebar')
        @parent

        <p>This is appended to the master sidebar.</p>
    @endsection

    @section('content')
        <p>This is my body content.</p>
    @endsection