вопросы пишите мне в телеграмм +375298176892
можно скачать офлайн версию сайта: code.mu old.code.mu

Введение в шаблонизатор Blade

В данном уроке мы с вами начнем разбираться с шаблонизатором Blade.

Вывод переменных в тегах

Переменные, которые передаются в представление из действия контроллера, обычно выводятся внутри каких-нибудь тегов. Пусть, к примеру, из действия передаются переменные $var1, $var2 и $var3. Давайте выведем каждую из этих переменных в отдельном абзаце:

<p>{{ $var1 }}</p> <p>{{ $var2 }}</p> <p>{{ $var3 }}</p>

Пусть в действии контроллера даны переменные $name (имя), $age (возраст) и $salary (зарплата). Передайте значения этих переменных в представление и выведите содержимое каждой из этих переменных в отдельном абзаце.

Вывод переменных в атрибуты

Переменные на самом деле можно выводить в любом месте страницы, например, в атрибутах тегов. Например, вот так:

<p class="{{ $var }}"></p> <p style="{{ $var }}"></p> <input value="{{ $var }}">

Пусть в действии дана переменная, содержащая CSS класс. Передайте эту переменную в представление и для какого-нибудь тега значением атрибута class укажите нашу переменную.

Пусть в представлении даны 3 инпута. Передайте из действия в представление 3 переменные, значения которых запишите в атрибуты value наших инпутов.

Пусть в представлении дан абзац. Передайте из действия в представление переменную, содержащую CSS код, задающий красный цвет текста. С помощью атрибута style покрасьте наш абзац в красный цвет.

Пусть в действии дана переменная $text, содержащая текст ссылки, и переменная $href, содержащая адрес ссылки. Передайте эти переменные в представление и сформируйте с их помощью HTML ссылку.

Выполнение PHP кода

Вы не ограничены отображением только содержимого переменных, передаваемых в представление. Вы также можете выводить результаты любых PHP-функций. На самом деле, вы можете поместить любой необходимый PHP-код в оператор вывода Blade:

The current UNIX timestamp is {{ time() }}

Выведите в представлении текущую дату в формате день.месяц.год.

Работа с массивами

Из действия в представление можно также передавать и массивы:

<?php return view('test', ['arr' => [1, 2]]); ?>

Давайте выведем элементы нашего массива на экран:

первый элемент массива: {{ $arr[0] }} второй элемент массива: {{ $arr[1] }}

Так как в фигурных скобках можно выполнять любой PHP код, то можно, например, найти сумму элементов массива:

сумма: {{ $arr[0] + $arr[1] }}

Пусть из действия в представление передаются данные работника в виде массива. Пусть в массиве будет ключ name (имя), ключ age (возраст) и ключ salary (зарплата). Выведите каждый элемент массива в отдельном абзаце.

Подсчет элементов массива

Так как в фигурных скобках можно выполнять любой PHP код, то можно, например, найти количество элементов массива с помощью PHP функции count:

{{ count($arr) }}

Передайте в представление какой-нибудь массив. Выведите на экран количество элементов в этом массиве.

Проверка на существование

По следующей ссылке изучите раздел Вывод переменных после проверки на существование. Решите затем следующие задачи:

Пусть из действия в представление передается переменная $city (город). Выведите в представлении названия города из этой переменной. Если же город не передан - пусть по умолчанию выведется город Москва.

Пусть из действия в представление передается массив $location (местоположение) с ключами country (страна), city (город). Выведите каждый элемент это массива в отдельном абзаце. Сделайте так, чтобы, если не задана страна, то по умолчанию вывелась Россия, а если не задан город, то по умолчанию вывелась Москва.

PHP код в проверке на существование

После or не обязательно должна быть какая-то строка - может быть и PHP код. Пусть, например, у нас есть переменная $year, содержащая год. Сделаем так, чтобы, если эта переменная не задана, на экран выводился текущий год:

переданный год: {{ $year or date('Y') }}

Пусть из действия в представление передаются переменные $year (год), $month (месяц) и $day (день). Сделайте так, чтобы, если какая-либо из этих переменных не задана, то вместо нее выведется текущее значение (текущий год, месяц или день).

Вывод неэкранированных данных

По следующей ссылке изучите раздел Вывод неэкранированных данных. Решите затем следующие задачи:

Пусть в переменной $str хранится строка с тегами, например, '<b>строка</b>'. Выведите эту строку на экран так, чтобы теги выполнили свое действие (то есть чтобы в данном случае текст стал жирным).

Комментарии Blade

По следующей ссылке изучите раздел Комментарии. Решите затем следующие задачи:

С помощью комментариев Blade закомментируйте какую-нибудь часть кода представления.

Исполнение PHP в Blade

По следующей ссылке изучите раздел PHP. Решите затем следующие задачи:

Описанным способом выполните какой-нибудь PHP код.