Laravel: Как создать собственную директиву foreach Blade - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь создать пользовательскую директиву 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), это выдает мне ошибку: Попытка получить свойство 'contract' не-объекта

И если я попробую функцию ($ data-> contract-> emails), то получу: синтаксическая ошибка, неожиданное '->' (T_OBJECT_OPERATOR), ожидание ')'

1 Ответ

0 голосов
/ 15 сентября 2018

Может быть, это может помочь вам:

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

Похоже, вы должны исключить переменную

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...