Подтвердить что ты не робот

Symfony2 - Зачем использовать XML для настроек/config?

Есть ли какой-либо интерес к использованию XML над YAML для каждого из этих типов файлов:

  • конфигурации
  • Безопасность
  • маршрутизации
  • услуги
  • Перевод

Я хотел бы спросить XML vs YAML и JSON глобально, но я буду придерживаться следующих тем:)

4b9b3361

Ответ 1

В моих проектах компании для каждого из упомянутых выше пунктов мы используем YAML, потому что это более читаемо. Самый читаемый. Самый читаемый.


ИЗМЕНИТЬ

Единственная абстрактная ситуация, которую я могу себе представить для использования XML over YAML -, вероятно, для некоторых динамических файловых писателей, поскольку с ними проще манипулировать узлами с помощью SimpleXML или что-то в этом роде. Например, если вам нужно определить какой-либо файл конфигурации, построить схемы в тестах и ​​т.д.

Но трудно представить себе другую ситуацию.


ДРУГОЕ ИЗМЕНЕНИЕ:

Поскольку мой ответ был принят, я не могу не согласиться с m2mdas - как он упоминал в своем ответе ниже, еще одна вещь, которая имеет смысл использовать XML, - это поддержка автозаполнения IDE.

Ответ 2

Преимущество xml congiruration - автоматическое завершение IDE и мгновенная проверка. В качестве элементов, определяемых конкретным определением схемы, IDE могут мгновенно проверять элементы против него, что невозможно в YAML или JSON. Также я думаю, что Symfony проверяет элементы xml в конфигурации против определения перед его обработкой.

Изменить:

Подтверждением я имел в виду проверку структуры элемента в соответствии с определенной схемой. Лучше проверить конфигурацию перед ее обработкой. Например, services.yml с сотнями определения объекта службы имеет ошибку в определении 99-й службы. Анализатор Yaml будет обрабатывать поэтапно, создавать дорогостоящие объекты обслуживания с высокой интенсивностью процессора и с ошибкой 99-го определения. Если для service.xml с определенной схемой вы можете проверить структуру элемента и обработать их, если это ОК. Очевидно, что второй процесс эффективен.

Ответ 3

Fabien Potencier написал о преимуществах использования XML над YAML в своем блоге:

  • Когда файл XML загружается, он автоматически проверяется с помощью встроенного файла services.xsd;

  • XML может быть автоматически завершен в IDE,

  • Формат XML быстрее, чем YAML,

  • Формат XML не содержит внешних зависимостей (формат YAML зависит от компонента sfYAML).

Хотя этот пост был написан для symfony1.x, точки также могут быть обязательно применены для Symfony2.

http://fabien.potencier.org/article/15/symfony-service-container-using-xml-or-yaml-to-describe-services

Ответ 4

Еще одна вещь в пользу XML - это возможность определять параметры с помощью константы PHP, что невозможно с помощью YAML.