Laravel:如何创建自定义foreach Blade指令

问题描述 投票:0回答:1

我正在尝试创建一个自定义的foreach Blade指令。我知道我可以使用开箱即用的那个,但我只是想我自己定制一个。

我的目的是创建这个指令:

@foremails {{$ email-> email}} @endforemails

Blade::directive('foremails', function () {
    return "<?php foreach($data->contract->emails as $email): ?>";
});

Blade::directive('endforemails', function () {
    return "<?php endforeach; ?>";
});

另外我不想传递@foremails('$ data')这样的论点,但只有@foremails,因为我认为看起来很干净。

我的代码给了我一个错误:未定义的变量:数据

如果我尝试传递一个参数函数($ data),它会给我一个错误:试图得到非对象的属性“契约”

如果我尝试函数($ data-> contract-> emailils),我得到:语法错误,意外' - >'(T_OBJECT_OPERATOR),期待')'

php laravel laravel-blade
1个回答
1
投票

也许这可以帮助你:

https://laracasts.com/discuss/channels/laravel/custom-blade-directive

好像你必须逃避变量

© www.soinside.com 2019 - 2024. All rights reserved.