Условные директивы Blade в Laravel

С помощью шаблонизатора "Blade" в Laravel можно сделать простейшую логику. К примеру, логику которая позволит скрывать часть HTML кода при выполнении условия. Для этого используется директива @if:
@if ($var >= 5)
   <b>Условие выполнено!</b>
@endif
В шаблонизаторе также предусмотрена директива @else, которая работает точно так же, как в PHP:
@if ($var >= 5)
   <b>Условие выполнено!</b>
@else
   <b>Условие не выполнилось!</b>
@endif
Если требуется более сложная логика, то можно воспользоваться директивой @elseif, которая позволяет добавить условие для проверки:
@if ($var >= 5)
   <b>Первое условие</b>
@elseif ($var < 2)
   <b>Второе условие</b>
@else
   <b>Третье условие</b>
@endif
Для организации логики с отрицанием в шаблонизаторе Blade существует директива @unless, которая работает в паре с @endunless. Она имеет точно такие же механизмы, что и директива @if, у которой в скобках стоит восклицательный знак (оператор отрицания). То есть два следующих примера выдадут одинаковый результат при одинаковых входных параметрах:
@if (!$var)
   <b>Переменная $var имеет значение false</b>
@endif
@unless ($var)
   <b>Переменная $var имеет значение false</b>
@endunless
Обратите внимание, что директива @endif закрывает @if, а @endunless закрывает @unless.

В условиях всех директив можно использовать и PHP функции, как это можно делать при выводе, используя двойные фигурные скобки {{ ... }}. К примеру, есть если нужно определить содержит ли массив элементы, то можно написать так:
@if ( count($ar) )
   <b>Массив содержит элементы!</b>
@else
   <b>Массив пустой!</b>
@endif
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: