由于指令方法只接受$表达式,是否有一个关于如何传递多个参数而不使用explode的示例?
我试过了:
Blade::directive('reportLink', function($expression, $expression2) {
然后:
@reportLink("a", "b")
但是我得到了错误,缺少参数2 ..
答案 0 :(得分:1)
自己碰到了这个。只有这样才能使它成为一个数组。
在您的刀片模板中:
@reportLink([$argument1, $argument1])
--stuff--
@endreportLink
在您的服务提供商中:
Blade::directive('reportLink', function ($expression) {
return "<?php App\ReportLink::YourMethod{$expression} ?>";
});
在你班上:
class ReportLink
{
public static function YourMethod($arguments)
{
dd($arguments); // this is now an array.
}
}
也许您已经自己找到了这个,但如果人们正在搜索这个,请将来参考。
答案 1 :(得分:0)
您可以使用这样的逗号拼写参数
@reportLink($argument1, $argument1)
--stuff--
@endreportLink
你必须在指令
处爆炸字符串Blade::directive('reportLink', function ($expression) {
$expression = explode(',', $expression);
return "<?php echo $expression[0].' '.$expression[1] ?>";
});