【问题标题】:The @isset directive is not been rendered by Laravel 5.4Laravel 5.4 未呈现 @isset 指令
【发布时间】:2018-01-17 16:41:05
【问题描述】:

我正在 Laravel 5.4 上开发一个 blade view 来测试是否设置了变量。如果未设置,blade 必须显示一小段放入其中的 html 代码。问题是 Laravel 忽略或无法识别 @isset 指令,将字符串渲染为简单的 html 代码。看图:

我使用@if(! empty($test) ) 做了一个丑陋的解决方法。而且我已经尝试使用php artisan cache:clear 清理缓存。

有人知道会导致此问题的原因吗?非常感谢!

【问题讨论】:

  • @endissets 是错字吗?如果是的话,改成@endisset
  • 是的!但这并不能解决问题。 (如果这是一个愚蠢的错字,我会感到羞耻!谢天谢地,它不是!)
  • 我能想到的关于 Blade 打印这个指令的唯一问题是如果框架的版本没有更新到 5.4,因为 @isset 是在 Laravel 5.4 中引入的。否则它将打印为文本。
  • 使用 php artisan --version 返回 Laravel Framework 5.4.15。太奇怪了……看起来是初学者的问题,但是我用 Laravel 开发一年多了(这是我在开发的第一周就花了时间的一个问题)。

标签: laravel-5.4 laravel-blade laravel-views


【解决方案1】:

我解决了将 Laravel Framework5.4.15 更新为 5.4.36 的问题。

首先,停止您的服务器(如果您使用的是php artisan serve)。

然后在项目根目录运行composer update

您可能需要在再次为项目提供服务之前运行php artisan cache:clear,在我的情况下没有必要。

这是 Laravel 女巫的一个奇怪行为,可能是 Laravel 框架 5.4.15 或更早版本的一个小错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 2012-01-17
    • 2020-01-20
    • 2015-02-02
    相关资源
    最近更新 更多