@photosho

Как использовать расширение директив Blade в Laravel 5?

Здравствуйте. Возник вопрос: каким образом в Laravel 5 добавлять собственные директивы к шаблонизатору Blade? Пишу как в примере, но это не работает (файл "App\Providers\AppServiceProvider.php"):

Blade::directive('date', function($expression) {
	return ...;
});


Возможно, этот пример создан для других версий Laravel?
  • Вопрос задан
  • 803 просмотра
Решения вопроса 1
@photosho Автор вопроса
Вопрос решен. Проблема была, во-первых, в версии Laravel - насколько я понял, метод "directive" доступен только с версии 5.1 - обновление помогло. А, во-вторых, - в кешированных файлах на сервере. Очистка кеша (не путать с очисткой кеша в браузере) решила эту часть проблемы.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Astatroth
@Astatroth
Я тут случайно
Что значит "не работает"? Ничего не выводит, выводит не то, что нужно, или выбивает исключение?
Взял пример из доков Laravel:
public function boot()
    {
        Blade::directive('example', function ($expression) {
            return "{$expression}";
        });
    }

В шаблоне:
{{ $page_title }} @example('toster.ru')
В итоге получил:
7e80650b8be2482790f2a482bc0f6eab.png

Все работает.
Ответ написан
{{ $page_title }} @example('toster.ru') -не грамма не понял, о чем это???
Регистрация ('toster.ru') - зачем ето?
Раширяется шаблон как то не очень понятно, вернее не так как хотелось бы(((
К примеру @example('toster.ru') -> возвращает объект зарегестрированный под псевдо именем toster.ru - это реальная фишка!!! необязательно toster.ru, можно же и @role('content_for_user')...
@example('toster.ru') выходит то что в скобках не несет ни какой нагрузки. Только example
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы