Выполнение произвольного кода в командах Blade в Laravel
В предыдущих уроках мы выводили переменные
через {{ }}. На самом деле внутри
фигурных скобок можно написать не только
имя переменной, но и любое PHP-выражение.
Blade выполнит его и выведет результат
на страницу.
Чаще всего так вызывают стандартные функции PHP.
Пример 1
Можно вывести текущую метку времени:
current timestamp: {{ time() }}
Пример 2
Или отформатировать дату через
функцию date:
today: {{ date('d.m.Y') }}
Пример 3
Можно склеивать строки через точку и вызывать функции над переменными. Пусть из контроллера переданы имя и фамилия:
<?php
return view('post.show', [
'first' => 'john',
'last' => 'smith',
]);
?>
full name: {{ $first . ' ' . $last }}
length: {{ strlen($first) }}
Замечание
Внутри {{ }} допустимы выражения
любой сложности, но не стоит превращать
шаблон в большую программу. Простое
форматирование и вызов функций - нормально,
а сложную логику лучше оставлять
в контроллере или модели.
Практические задачи
Выведите в представлении текущую дату в формате день.месяц.год.
Пусть передана переменная $name
со строкой. Выведите её в верхнем
регистре через strtoupper
и длину строки через strlen.