Представления и шаблоны
Elang использует Twig для формирования HTML на сервере. Интерфейс приложения может оставаться на обычных HTML, CSS и JavaScript.
Отображение представления
use Elang\View\View;
$router->get('/', fn (View $view) =>
$view->render('home', ['title' => 'My application'])
);
Этот код загружает resources/views/home.twig. Передайте необязательный третий аргумент, чтобы задать HTTP-статус.
Экранирование вывода
<h1>{{ title }}</h1>
Автоматическое экранирование HTML и строгие проверки переменных включены. Используйте |raw только для доверенного, очищенного HTML. Не помечайте пользовательское содержимое как необработанное.
Макеты
{% extends "base.twig" %}
{% block content %}
<h1>{{ title }}</h1>
{% endblock %}
Шаблоны Twig компилируются в доступный для записи кеш хранилища. Файлы CSS и JavaScript размещаются в public/assets/. Внешние файлы также соответствуют политике Content Security Policy по умолчанию, которая запрещает встроенные скрипты и стили.
Ссылки на именованные маршруты
<a href="{{ route('posts.show', {id: 42}) }}">Read post</a>
О наследовании, включениях, фильтрах и синтаксисе шаблонов читайте в документации Twig.