Laravel Blade使用@section设置页面标题出现unexpected '<'语法错误
错误原因
Blade 的 @section 指令本身就处于PHP解析上下文,内部支持直接传入PHP变量或表达式,不需要嵌套 {{ }} 输出语法。
你写的 {{ $mapel->subjects_name }} 会被Blade模板引擎直接编译为 <?php echo e($mapel->subjects_name) ?>,相当于你在 @section 方法的第二个参数位置插入了一段带有 < 符号的PHP代码,不符合PHP语法规范,因此抛出 unexpected '<' 报错。
解决方法
直接把变量作为 @section 的第二个参数传入即可,不需要加 {{ }}:
@section('page_title', $mapel->subjects_name)
如果需要拼接字符串,直接写PHP表达式即可:
@section('page_title', $mapel->subjects_name . ' - 课程详情')
内容的提问来源于stack exchange,提问作者salman
相关产品推荐
相关产品推荐

