You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel框架@yield无法渲染内容问题咨询及代码排查

问题分析与解决方案

问题原因

  1. 路由返回错误视图:当前根路由直接返回welcome视图,但welcome是被content继承的父模板。未加载子视图content时,Blade的模板继承机制不会触发,导致@yield指令无法被正确编译解析(页面显示x@yield('section')就是指令未被处理的直接表现),自然无法填充对应@section的内容。
  2. 模板继承逻辑未启动:只有当返回的是使用@extends的子视图时,Laravel才会触发Blade模板继承流程,将子视图的@section内容注入父视图的@yield位置。直接返回父视图时,既没有对应的子视图内容,也无法正常解析Blade指令。

解决方案

1. 修改路由返回子视图

修改routes/web.php中的根路由,让其返回content视图:

Route::get('/', function () {
    return view('content');
});

此时Laravel会加载content.blade.php,自动触发模板继承逻辑,将子视图中@section('contents')的内容填充到welcome.blade.php的@yield('contents')位置。

2. 验证Blade解析功能(可选)

如果修改路由后仍有异常,可在视图中添加简单验证代码,确认Blade是否正常工作:
在welcome.blade.php中添加:

{{ date('Y-m-d') }}

若页面显示当前日期,说明Blade解析正常;若显示{{ date('Y-m-d') }},则检查视图文件扩展名是否为.blade.php(必须以此结尾才能触发Blade解析)。

内容的提问来源于stack exchange,提问作者newbietypez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:43:11