在Laravel刀片错误中评论“出了点问题”


Commenting in Laravel blade error "Something went wrong"

我正试图把我的头缠在拉拉维尔身上。

我正在注释代码以供以后使用。当我注释掉一段代码时,会出现我的问题,但代码不是"true"。

对我有用的示例:

<head>
    <!-- {{ HTML::script('js/scrollTo.js'); }} -->
    {{ HTML::style('css/style.css'); }}
</head>
<head>
    <!-- Foo {{ HTML::script('js/scrollTo.js'); }} Bar -->
    {{ HTML::style('css/style.css'); }}
</head>

什么对我不起作用:

<head>
    <!-- {{ } HTML::script('js/scrollTo.js'); }} -->
    {{ HTML::style('css/style.css'); }}
</head>

每当我在刀片标签中放置某些内容时,系统都会出错。为什么我会这样做,我不确定。但我不明白的是,为什么当标签被注释掉时系统会出错。

使用刀片注释:

<head>
    {{-- {{ } HTML::script('js/scrollTo.js'); }} --}}
    {{ HTML::style('css/style.css'); }}
</head>
即使在 HTML

注释中,刀片标记仍然会被呈现(Blade 不是 HTML 解析器,因此它不知道<!--是什么意思)。生成的视图代码将是:

<!-- <?php } HTML::script('js/scrollTo.js'); ?> -->

这是一个解析错误。可以使用边栏选项卡注释:

{{-- {{ } HTML::script('js/scrollTo.js'); }} --}}

但真正的问题是为什么不首先修复稍微无效的代码呢?

我不知道

为什么,但它不起作用,因为它是php。因此,每当您"注释掉它"时,它仍然会运行,并且在 php "坏"时仍然会返回错误。如果您确实想注释掉它们,那么您可以这样做:

{{ dd($non_existent_value) }} <- 导致错误

<!-- {{ dd($non_existent_value) }} --> <- 也会导致错误

{{ ''# dd($non_existent_value) }} <-回声的",又名什么都没有

<!-- {{ ''# dd($non_existent_value) }} --> <-也是回声的",又名什么都没有

如果您在收到错误后查看代码,您会发现第一个示例它尝试执行<?php echo $non_existent_value ?>,后者将执行<?php echo '' # $non_existent_value ?>,从而回显",或者什么都不做。

Blade 还提供了一种注释掉整个内容的方法,只需在开头的"{{"之后和结束的"}}"之前附加"--"。这样:

{{-- dd($someVar) --}}

上面的两种方法都是正确的,尽管第一种方法没有注释掉<?php echo ?>部分,而只是注释掉"echo"之后的内容。