我正在呈现一个页面,该页面主要是一个具有
在Laravel中,它正在崩溃,导致错误
_
连接
_
重置。经过长时间的调查和许多转移注意力的问题,我开始从刀片文件中删除(而不是注释)用于视图的随机部分,并意识到如果我
a)擦除2个
表单此部分内的调用
b)删除
从表单的这一部分开始
{{--
{{ Form::label('foo', 'foo:') }}
{{ Form::text('foo') }}
{{ Form::label('foo', 'foo:') }}
{{ Form::text('foo') }}
{{ Form::label('foo', 'foo') }}
{{ Form::text('foo') }}
--}}
页面将呈现。我不确定这里到底是什么原因。上面和下面还有其他的块,尽管这是一个3-div注释掉的部分,其他的都不是。
有人知道这是什么原因吗?在WAMP上运行,如果这很重要的话。
发布于 2015-01-31 03:55:38
注意:这个答案是针对Laravel 4.2给出的,但仍然适用。有一些Blade编译问题的特殊情况取决于Laravel和/或PHP的版本,所以最好只在最简单的用例中使用Blade注释。
解决方案是只对简单的注释使用Blade注释,或者注释掉单行的Blade函数。不要在Blade注释中嵌套Blade/PHP代码。使用标准的PHP块注释来注释掉单个注释中的多行代码(PHP、HTML、多个刀片函数等)。
有效的刀片注释:
单刀片功能:
{{-- Form::text('foo') --}}
备注:
{{-- Form Section 1 --}}
无效的刀片注释:
语法不正确:
{{-- Form::text('foo') -- }}
刀片注释中的"@“
{{-- @Form::text('foo') --}}
嵌套PHP:
{{-- --}}
嵌套刀片:
{{--
{{ HTML::form("foo") }};
{{ HTML::form("bar") }};
--}}
改用PHP块注释。它们仍然可以在blade.php文件中使用
或者,一次注释掉一行Blade:
{{-- HTML::form("foo") --}};
{{-- HTML::form("bar") --}};
内部结构:
对于OP的代码,Laravel的Blade编译器将生成一个临时PHP文件,其中包含以下PHP/HTML:
*/ ?>
Blade注释中的Blade仍在解析为PHP。PHP块注释中的PHP结束标记会导致Apache的解析器提前结束,从而导致一些格式错误的PHP/HTML可能会使您的连接崩溃(很可能是由悬空引起的
)。
?>脱离了PHP模式,返回到HTML模式,//或者#不能影响这一点。
使用上述任何无效的Blade注释都会导致类似的编译问题。避免对除注释或注释Blade函数之外的任何内容进行Blade注释,一次删除一行。
发布于 2020-02-04 14:11:28
Blade中的评论非常简单!
{{-- Blade comments that wil not appear in the rendered HTML output --}}
你可以做普通的PHP注释:
发布于 2016-01-04 23:32:01
我也有类似的症状,似乎只与评论的长度有关。我用一个根本不包含任何PHP代码或blade语句的注释对其进行了测试:
{{--
0123456789abcdef
0123456789abcdef
0123456789abcdef
--}}
我不断添加重复行的副本,直到它崩溃。这条评论后面跟着一个刀片
语句,并且相应的未在编译后的模板中结束,
但是结案陈词做到了
,导致语法上无效的编译模板。
这似乎是刀片编译器中的一个错误,我将报告它。
解决方法是使用--}}{{-- ]拆分长刀片注释。
https://stackoverflow.com/questions/27830200
复制相似问题