Laravel yield 和 extends 不工作

Laravel yield and extends not working

这是 master.blade.php 放在 views 文件夹中

<html ng-app="planner">
<head>
    <title>MeetUp Planner</title>

    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="css/master.css" type="text/css">
</head>
<body ng-controller="MainController">
    <div class="container" ng-controller="MainController">
        <div class="row row-centered planner-block">
            <div class="col-md-12">
                <div class="col-md-5 col-centered col-min form-area">
                    <div class="row row-centered">
                        @yield('signup')
                    </div>
                </div>
            </div>
        </div>
    </div>
<script src="js/master.js"></script>
</body>
</html>

这是 forms/signup.blade.php 视图文件夹中的位置

@extends('master')

@section('signup')
    <div class="col-md-11 col-centered form-area-inner">
        <span class="form-text">Sign Up</span>
        <hr class="seperator"/>
    </div>
@stop

这是路由文件

<?php
Route::get('/', function () {
    return view('master');
});

yield 'signup' 无效,div 和文本未显示在主文件中。可能是什么问题?

目录结构

resources:
---views->errors
---views->forms->signup.blade.php
---views->vendor
---views->master.blade.php

使用laravel 5.2

事情不是这样的。 master 视图将在您使用 forms.signup 视图时扩展:

Route::get('/', function () {
    return view('forms.signup');
});

如果你想在 master 视图中包含一些视图,你应该使用 @include() 子句。

您的路线文件将是

<?php
Route::get('/', function () {
     return view('forms.signup');
});
?>

更改 master.blade.php 的位置

移动到---resources/views/layouts/master.blade.php

在您的 master.blade.php 文件中更改此行

@yield('signup')@yield('content')

参考 link : link