Php Laravel刀片通过@include传递字符串变量会导致错误
在Laravel 5.0.27中,我包括一个带有变量的视图和以下代码:Php Laravel刀片通过@include传递字符串变量会导致错误,php,laravel,laravel-5,blade,Php,Laravel,Laravel 5,Blade,在Laravel 5.0.27中,我包括一个带有变量的视图和以下代码: @include('layouts.article', [ 'mainTitle' => "404, page not found", 'mainContent' => "sorry, but the requested page does not exist :(" ]) 我得到了以下错误 FatalErrorException语法。。。错误,意外',' 我已经缩小了范
@include('layouts.article', [
'mainTitle' => "404, page not found",
'mainContent' => "sorry, but the requested page does not exist :("
])
我得到了以下错误
FatalErrorException语法。。。错误,意外','
我已经缩小了范围,错误完全来自于“mainContent”变量字符串中的“(”,当我删除“(”时,错误消失,一切正常。我在文档中找不到任何关于此错误或在线列出的任何类似错误的内容
有人知道这是预期的行为还是应该报告的bug吗
非常感谢您抽出宝贵的时间!这不是一个bug,而是由于正则表达式的限制,限制了刀片语法。解决方案来自: 问题是使用多行。您只能使用一行来 Blade中的[pass variables],因为语法受到[regular]的限制 表达] 尝试下面的代码,您应该可以开始了:
@include('layouts.article', ['mainTitle' => "404, page not found", 'mainContent' => "sorry, but the requested page does not exist :("])
您可以传递$data数组
@包括('layouts.article',$data)
在版面中使用$data['mainttitle']
等。文章
在中,包含的视图根据文档中的说明从父视图继承所有变量:
即使包含的视图将继承父视图中的所有可用数据,您也可以向包含的视图传递一组额外数据:
@include('view.name',['some'=>'data']))
我不确定这个答案,请将空格键给“(”你能试试吗?@Joey这似乎是一个bug。它可以通过某种转义方法来工作。但默认情况下它应该是正常工作的!这个bug可以报告给感谢的人,只是在伟大的发现中报告它是一个bug!你能回答你的问题或其他什么吗?这样它就不再在php/未回答列表中了?谢谢!liLaravel
5.6
似乎取消了模仿:该问题声称从5.6开始它仍然不起作用,但应该很快就会出现,该问题没有更新,尽管它被实施了,但我不知道人们为什么反对它!我看不出为什么我否决了这个答案,因为它没有解决实际问题。问题的前提是对于包含特定变量包含和格式的中断,请参阅my github问题以了解它:嗨,是否可以在此附加某种@only关键字,以限制对包含上下文的访问?
<?php $data=[
'mainTitle' => "404, page not found",
'mainContent' => "sorry, but the requested page does not exist :("
] ?>
@include('layouts.article', $data)