不能在刀片模板中使用 OR

nik*_*aft 3 laravel laravel-blade

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

<div class="{{ $menuclass or 'menu'}}">
Run Code Online (Sandbox Code Playgroud)

这使

<div class="menu">
Run Code Online (Sandbox Code Playgroud)

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

<div class="1">
Run Code Online (Sandbox Code Playgroud)

似乎不是这样做:

isset($menuclass ) ? $menuclass : 'menu'
Run Code Online (Sandbox Code Playgroud)

它只返回 1

任何想法为什么?

此功能在博客上发表:https : //laravel-news.com/blade-or-operator

它是否在 Laravel 的后续版本中被弃用?

Kap*_*emo 7

Laravelor运算符在 Laravel 5.7 中更改为??

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

刀片“或”运算符已被移除,取而代之的是 PHP 的内置 ?? “空合并”运算符,具有相同的目的和功能:

尝试这个:

<div class="{{ $menuclass ?? 'menu'}}">
Run Code Online (Sandbox Code Playgroud)

是升级指南。