Полезные директивы Laravel Blade

Ромчик
0

Доброго времени суток. В данной статье мы поговорим о шаблонизаторе Laravel – Blade. Точнее о некоторых полезных его директивах, которые позволяют нам значительно сократить код. И дальше мы приведем некоторые директивы и код, которым можно заменить данные директивы (но код становится громоздким и менее читабельным)

 

Ну, что приступим.

Проверка авторизован ли пользователь.

Проверить авторизован ли пользователь в шаблоне мы можем следующим образом:


@if(auth()->user())

// The user is authenticated.

@endif

Но есть альтернатива данному методу:


@auth

// The user is authenticated.

@endauth

Является ли пользователь гостем.

Для проверки является ли пользователь гостем (т.е. не авторизован) мы можем с помощью следующей конструкции:


@if(auth()->guest())

// The user is not authenticated.

@endif

Но в Laravel Blade есть более короткая альтернатива:


@guest

// The user is not authenticated.

@endguest

Также мы можем добавить @else


@guest

// The user is not authenticated.

@else

// The user is authenticated.

@endguest

Насколько код стал короче и читабельней.

Как подключить представление при выполнении определенного условия

Нам необходимо, например, подключить представление для отображения комментариев, если есть эти комментарии. Отлично, воспользуемся:


@if($post->hasComments())

@include('posts.comments')

@endif

Но есть более короткая запись:


@includeWhen($post->hasComments(), 'posts.comments');

Удобно и красиво.

Как подключить представление, если оно существует

Например, нам надо подключить представление, но подключить его только в том случае, если оно существует. Нет ничего проще:


@if(view()->exists('view-name'))

@include('view-name')

@endif

И на этот случай есть более удобная blade-директива:


@includeIf('view-name')

Как подключить первое представление, если оно существует, и если его нет, то подключить второе представление

Используем  уже знакомую нам конструкцию:


@if(view()->exists('first-view-name'))

@include('first-view-name')

@else

@include('second-view-name')

@endif

И упрощенная альтернатива:


@includeFirst(['first-view-name', 'second-view-name']);

Заключение.

Мы с вами рассмотрели несколько blade-директив, которые помогают нам уменьшить код и увеличить читабельность.

Вольный перевод статьи «Пять полезных директив Laravel Blade», поэтому не судите строго.

 

Понравилась статья? Поделись с друзьями.
  • Add to favorites
  • Добавить ВКонтакте заметку об этой странице
  • Twitter
  • Facebook
  • Мой Мир
  • LiveJournal
  • Одноклассники
  • Блог Я.ру
  • MySpace
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • БобрДобр
  • LinkedIn
  • Memori.ru
  • Сто закладок
  • Blogger

©2012-2018 По всем вопросам обращайтесь через форму обратной связи

Яндекс.Метрика