【问题标题】:can't use OR in blade template不能在刀片模板中使用 OR
【发布时间】:2019-03-31 21:23:27
【问题描述】:

当我在 win10 php7.2 上本地开发时,像这样的 nginx 表达式工作得很好

<div class="{{ $menuclass or 'menu'}}">

给了

<div class="menu">

但是一旦我通过 laravel forge 将它部署到 ubuntu 机器,它就无法工作,我得到了这个

<div class="1">

似乎不是这样做:

isset($menuclass ) ? $menuclass : 'menu'

它只返回 1

有什么想法吗?

此功能已在此处发布:https://laravel-news.com/blade-or-operator

在更高版本的 laravel 中是否已弃用它?

【问题讨论】:

  • 你用的是什么版本的 laravel?
  • laravel 5.7,这里是编译的视图文件行,它失败了:

标签: laravel laravel-blade


【解决方案1】:

Laravel or 运算符在 laravel 5.7 中更改为 ??

或操作员影响的可能性:高

Blade“或”运算符已被删除,以支持 PHP 的内置 ?? "null coalesce" 运算符,具有相同的目的和 功能:

试试这个:

<div class="{{ $menuclass ?? 'menu'}}">

here 是升级指南。

【讨论】:

    猜你喜欢
    • 2021-11-21
    • 2014-04-03
    • 1970-01-01
    • 2017-10-08
    • 2014-03-01
    • 2021-07-11
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多