Новое в Symfony 5.4: Различные улучшения (часть 2)

Источник: «New in Symfony 5.4: Misc. features (part 2)»
Улучшения в Symfony 5.4: настраиваемый статус-код HTTP для шаблонов из маршрутов; новый метод innerText() в компоненте DomCrawler; рекурсивная поддержка .gitignore в компоненте Finder, и новая команда для отладки переменных окружения.

Настраиваемый Статус Код в Шаблонах Отображаемых из Маршрутов

В приложении Symfony контроллеры отображают шаблоны чаще всего. Однако, вы можете отображать шаблоны из конфигурации маршрутов в случаях, когда создание контроллера не требуется.

В Symfony 5.4 мы улучшили эту возможность, что бы вы могли задать код статуса HTTP ответа содержащегося в отображённом шаблоне (чтобы переопределить заданный по умолчанию статус-код 200):

# config/routes.yaml
upload_started:
path: /upload_started.html
controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
defaults:
template: 'file_upload/started.html.twig'
statusCode: 202 # HTTP Status = Accepted

Новый Метод innerText() в Компоненте DomCrawler

Компонент Symfony DomCrawler упрощает навигацию по DOM для документов HTML и XML. В Symfony 5.4 мы улучшили его с помощью нового метода innerText(). Он похож на text(), но возвращает только текст, который является прямым потомком текущего узла, исключая любые дочерние узлы:

$text = $crawler->filterXPath('//body/p')->innerText();
// если контент <p>Foo <span>Bar</span></p>
// innerText() вернёт 'Foo', а text() вернёт 'Foo Bar'

Рекурсивная Поддержка .gitignore в Компоненте Finder

Компонент Symfony Finder позволяет применять правила .gitignore для каталога в котором вы выполняете поиск. Таким образом, вам не нужно повторно исключать файлы или каталоги из поиска:

// Если файл .gitignore существует в каталоге, его содержимое будет
// разобрано и добавлено в поиск файлов/каталогов
$finder->ignoreVCSIgnored(true);

В Symfony 5.4 мы улучшили эту возможность для лучшего согласования с поведением Git по умолчанию. При включении этой опции, компонент Finder будет использовать .gitignore файлы во всех подкаталогах просматриваемых во время поиска. Кроме того, правила для подкаталогов всегда имеют приоритет над правилами родительских каталогов.

Новая Команда для Отладки Переменных Окружения

Конфигурация основанная на переменных окружения становится всё более популярной в приложениях Symfony. Учитывая, что многие разные файлы могут определять и переписывать переменные окружения, в Symfony 5.4 мы добавили новую команду debug:dotenv, которая поможет вам отладить значения всех ваших переменных окружения и какие .env файлы были проверены:

Debug env

Дополнительные материалы

Предыдущая Статья

Новое в Symfony 5.4: Различные улучшения (часть 1)

Следующая Статья

Новое в Symfony 5.4: Различные улучшения (часть 3)