有没有一种优雅的方法来创建一个像堆栈数组一样的own Blade directive?我知道我可以使用@push
指令,如@push('key', 'value')
,但值只是附加,我需要的是一个堆栈数组,我可以在另一个视图中检索变量(在我的情况下是布局) 。示例(home.blade.php
):
@ownDirective('key', 'value1')
@ownDirective('key', 'value2')
然后layout.blade.php
:
{{ dd($key) }} // ['value1', 'value2']
答案 0 :(得分:1)
我想出了如何实现我的需求:
Blade::directive('addstack', function ($expression) {
list($name, $value) = explode(',', $expression);
return "<?php {$name}[] = {$value}; ?>";
});
// Usage:
// @addstack($key, 'value1')
// @addstack($key, 'value2')