В приложениях Symfony контроллеры рендерят шаблоны в большинстве случаев, но также в простых случаях вы можете рендерить шаблоны из роут конфига (config/routes), когда в создании самого контроллера нет необходимости.
В Symfony 5.4 данная возможность расширена и улучшена: теперь также можно указать код HTTP ответа, который содержится в отрендеренном шаблоне (вместо стандартного 200 статуса можно, к примеру, указать 202)
# 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
Компонент Symfony DomCrawler облегчает навигацию по DOM для HTML и XML документов. В Symfony 5.4 этот компонент был улучшен за счет добавления нового метода innerText(). Он похож на метод text(), но при этом возвращает только текст того элемента, который является прямым потомком текущего узла, не включая при этом дочерние узлы:
$text = $crawler->filterXPath('//body/p')->innerText();
// if content is <p>Foo <span>Bar</span></p>
// innerText() returns 'Foo' and text() returns 'Foo Bar'
Компонент Finder фреймворка Symfony позволяет применять правила .gitignore в директории, где вы осуществляете поиск. Таким образом, отсутствует необходимость исключать некоторые файлы или директории из поиска:
// if .gitignore file exists in the directory, its contents
// are parsed and applied to the file/dir search
$finder->ignoreVCSIgnored(true);
В Symfony 5.4 улучшена данная функция с целью лучше соответствовать дефолтному поведению Git. При включении данной функции, компонент Finder будет использовать .gitignore файлы всех поддерикторий, задействованных в поиске. Также правила поддерикторий перезаписывают правила родительских директорий.
Конфигурация, основанная на переменных окружения, очень популярна в приложениях Symfony. Учитывая тот факт, что множество различных файлов могут определять и переопределять переменные окружения, в Symfony 5.4 была добавлена новая команда debug:dotenv, которая поможет вам увидеть и отладить все переменные окружения, и какие .env файлы были задействованы
Обработка сигналов с помощью Symfony Command
15371
768
Symfony 6.2 - новые возможности
14471
753
Новое в Symfony 6.2: Компонент Clock
14663
733
Новое в Symfony 6.1: Более простое расширение и настройка бандлов
15687
784
Новое в Symfony 6.1: динамический переключатель локали (Locale Switcher)
12804
640
Новое в Symfony 6.1: компонент HtmlSanitizer
13159
657
Для Symfony 6.1 потребуется PHP версии 8.1 из-за предзагрузки классов
8650
432
Внедрение поддержки Docker в Symfony
14415
720
Приложение на Symfony и Twitter Bootsrap 4 [видео]
10549
527