Новое в Symfony 6.3 — Команда отладки сериализатора

Источник: «New in Symfony 6.3: Serializer Debug Command»
Symfony 6.3 включает новую команду, которая выводит метаданные сериализатора заданного класса, чтобы помочь отладить любые проблемы с Serializer.

Компонент Serializer выполняет (де)сериализацию структур данных, включая графы объектов, в структуры массивов или другие форматы, такие как XML и JSON. Это мощный компонент, но большая часть его сложности скрыта, что затрудняет отладку сложных ситуаций.

В Symfony 6.2 мы добавили новую панель Serializer в профилировщик Symfony, чтобы помочь в отладке. В Symfony 6.3 мы добавляем ещё один инструмент, который поможет вам: новую команду debug:serializer.

Эта команда выводит метаданные сериализатора заданного класса, что помогает найти любые проблемы в конфигурации метаданных:

php bin/console debug:serializer 'App\Entity\Book'

App\Entity\Book
---------------

+----------+------------------------------------------------------------+
| Property | Options |
+----------+------------------------------------------------------------+
| name | [ |
| | "groups" => [ |
| | "book:read", |
| | "book:write", |
| | ] |
| | "maxDepth" => 1, |
| | "serializedName" => "book_name" |
| | "ignore" => false |
| | "normalizationContexts" => [], |
| | "denormalizationContexts" => [] |
| | ] |
| isbn | [ |
| | "groups" => [ |
| | "book:read", |
| | ] |
| | "maxDepth" => null, |
| | "serializedName" => null |
| | "ignore" => false |
| | "normalizationContexts" => [], |
| | "denormalizationContexts" => [] |
| | ] |
+----------+------------------------------------------------------------+

Эта команда объединяет другие встроенные команды отладки, предоставляемые Symfony, всего 12 команд:

debug:config           "Dump the current configuration for an extension"
debug:container "Display current services for an application"
debug:autowiring "List classes/interfaces you can use for autowiring"
debug:dotenv "Lists all dotenv files with variables and values"
debug:event-dispatcher "Display configured listeners for an application"
debug:router "Display current routes for an application"
debug:serializer "Display serialization information for classes"
debug:translation "Display translation messages information"
debug:validator "Display validation constraints for classes"
debug:form "Display form type information"
debug:firewall "Display information about your security firewall(s)"
debug:twig "Show a list of twig functions, filters, globals and tests"

Вам не хватает каких-либо команд отладки? Вы бы добавили новые параметры и функции к существующим командам? Напишите нам в комментариях.

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

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

Laravel: Как отложить задания и слушателей в транзакциях базы данных

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

Vim: Файлы шаблонов