我正试图把我的头缠在拉拉维尔身上。
我正在注释代码以供以后使用。当我注释掉一段代码时,会出现我的问题,但代码不是"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>
注释中,刀片标记仍然会被呈现(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"之后的内容。