我是Blade的新手,无法找到如何做到这一点。
不幸的是,Blade's documentation没有多大帮助,但我已经尝试了以下内容:
@include('module.my-component', [
'param' => [{
'x' => 'A',
'y' => false
}, {
'x' => 'B',
'y' => true
}]
])
正如所料,我遇到以下语法错误:
解析错误:语法错误,意外“{”,期待']'
有人知道正确的语法吗?
答案 0 :(得分:2)
您必须使用有效的PHP语法。这不是有效的PHP:
[{'b' => 'a'}]
这是有效的PHP:
[
(object) ['x' => 'B', 'y' => true],
(object) [ ... ],
]
这将是stdClass
个对象的数组。将数组转换为object
时,会得到一个包含这些属性的stdClass
对象。
基本上,Blade指令中的所有内容都是单个“字符串”/“表达式”......当刀片编译时,它会用PHP替换它,并且该表达式通常只是直接删除,所以它最终都是PHP,所以它必须是有效的。您可以从存储文件夹中打开任何已编译的视图,以查看此操作。