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

Laravel使用Blade语法报unexpected identifier "backend"错误

报错原因

这个ParseError是Blade模板编译时的引号边界识别冲突导致的:

  • 你写的{{ }}PHP输出块直接嵌套在HTML class属性的双引号包裹范围内,Blade的编译正则会错误截断块内的PHP表达式,原本完整的三元判断逻辑被拆分
  • 当PHP解析编译后的代码时,读到backend标识符的位置,前面的语法结构已经被错误闭合,因此抛出「unexpected identifier "backend", expecting ")"」的语法错误
修复方案

按推荐优先级从高到低排列:

  • 优先使用Laravel官方提供的@class指令处理动态样式类,专门为这类场景设计,完全规避引号冲突,可读性也最好:
<li @class([
    'nav-item',
    'active' => Route::currentRouteName() == 'backend.categories'
])>
  • 如果要保留三元运算写法,不要在class属性的双引号里做片段拼接,把完整类名放到{{ }}块内拼接后统一输出,同时给三元运算加括号明确优先级:
<li class="{{ 'nav-item ' . (Route::currentRouteName() == 'backend.categories' ? 'active' : '') }}">
  • 也可以通过区分HTML属性和PHP字符串的引号类型解决冲突,把class属性的外层引号改为单引号,块内PHP字符串统一用双引号:
<li class='nav-item {{ Route::currentRouteName() == "backend.categories" ? "active" : "" }}'>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:57:13