В Symfony 5.4 появилась возможность указывать прямо из конфига код HTTP ответа (и это  теперь не только 200) и другие новшества
10887

В Symfony 5.4 появилась возможность указывать прямо из конфига код HTTP ответа (и это теперь не только 200)


В приложениях 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

Новый метод innerText() в DomCrawler


Компонент 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'

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


Компонент 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 файлы всех поддерикторий, задействованных в поиске. Также правила поддерикторий перезаписывают правила родительских директорий.

Новая команда debug:dotenv для отладки переменных окружения


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