不必在每个文件 Laravel/Blade 中扩展和分区

问题描述

是否可以让每个视图都扩展我的主布局,而不必将 @extends('layout') 和 @section('content') 放在顶部的每个文件中?例如通过使用提供者?我是 Laravel 和 Blade 的新手。

解决方法

实际上使用扩展更好,但如果您想摆脱@extends 或@section,您始终可以从控制器返回主布局并将视图作为参数传递给主布局。

mainlayout.blade.php:

//replace yield directive with content variable
//            @yield('content')
{!!$content!!}

在控制器中:


//return view('test');

$content=view('test')->render();
return view('mainlayout',['content'=>$content]);

现在在测试视图中您不需要@extends 和@section。