Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 被Laravel刀片模板@extends关键字弄糊涂了_Php_Laravel_Blade - Fatal编程技术网

Php 被Laravel刀片模板@extends关键字弄糊涂了

Php 被Laravel刀片模板@extends关键字弄糊涂了,php,laravel,blade,Php,Laravel,Blade,我第一次用Laravel构建了一个简单的应用程序。我一直在观看和阅读刀片继承视频数小时,我不知道我做错了什么。当前代码如下所示: @extends('main') @section('card') <div class="card"> <h2>Hello</h2> </div> @stop Route.php文件: Route::get('/', function() { return View::make

我第一次用Laravel构建了一个简单的应用程序。我一直在观看和阅读刀片继承视频数小时,我不知道我做错了什么。当前代码如下所示:

@extends('main')

@section('card')
    <div class="card">
        <h2>Hello</h2>
    </div>
@stop
Route.php文件:

Route::get('/', function()
{
   return View::make('home');
});
home.blade.php
文件:

@extends('layouts.base')

@section('body')
    @include('body.main')
@stop

//other stuff
它正在扩展布局文件:

<!doctype html>
<html lang="en">

<head>
    //head stuff
</head>
<body>
    <div class="container-fluid">
        <div class="wrapper">
            @yield('body')
        </div><!-- end wrapper -->
    </div><!-- end container -->
</body>
</html>

//头饰
@屈服(‘体’)
现在我的问题是,我有一个主体文件(如下),我想有另一个屈服部分

<div class="row">
    <div class="content col-md-12">
        @yield('card')
    </div>
</div>

@收益率(‘卡’)
而card.blade.php如下所示:

@extends('main')

@section('card')
    <div class="card">
        <h2>Hello</h2>
    </div>
@stop
@extends('main'))
@节(“卡”)
你好
@停止
这只是最新的版本。我尝试过使用不同的布局文件,在主页面和布局页面的所有不同位置放置
扩展
产量
。但什么都不管用。现在我的主要内容是显示,但不是卡片文件(我希望最终用从eloquent提取的不同数据重复)


我已经阅读了四到五个不同的刀片教程,但似乎没有什么工作,即使在我看来,它肯定应该。大多数不包括延伸和屈服超过一层,我也没有问题。我做错了什么?

它是这样工作的,当您调用
视图::make
时,它会使用
@extends
从那里“向上”运行

  • 布局。基础
  • 当“向上”时,阶梯
    @yield
    包括各个部分。因此,从技术上讲,您必须调用
    View::make('card')
    ,这可能毫无意义。 相反,您可能需要尝试使用卡片模板

    card.blade.php

    <!-- no section or extends needed -->
    <div class="card">
        <h2>Hello</h2>
    </div>
    
    <div class="row">
        <div class="content col-md-12">
            @include('card')
        </div>
    </div>
    
    
    你好
    
    body.blade.php

    <!-- no section or extends needed -->
    <div class="card">
        <h2>Hello</h2>
    </div>
    
    <div class="row">
        <div class="content col-md-12">
            @include('card')
        </div>
    </div>
    
    
    @包括(‘卡’)
    
    为什么不使用@include而不是生成节?@Miks当我使用include时,我得到一个
    未找到
    异常。这也不起作用。我得到一个
    视图[卡]未找到错误。这就是为什么我开始使用扩展
    。我有两个
    card`文件,一个在子目录中,另一个在与
    main
    相同的目录中。两者都不起作用。如果我尝试在主视图目录中放置另一张
    刀片,我会收到一个浏览器错误
    未收到任何数据
    。包含视图相对于您当前所在的目录不起作用。因此,您必须始终指定完整的“路径”。如果card.blade.php位于views/body/中,那么您必须编写
    @include('body.card')
    太棒了!很高兴我能帮忙