Есть ли какой-либо интерес к использованию XML над YAML для каждого из этих типов файлов:
- конфигурации
- Безопасность
- маршрутизации
- услуги
- Перевод
Я хотел бы спросить XML vs YAML и JSON глобально, но я буду придерживаться следующих тем:)
Есть ли какой-либо интерес к использованию XML над YAML для каждого из этих типов файлов:
Я хотел бы спросить XML vs YAML и JSON глобально, но я буду придерживаться следующих тем:)
В моих проектах компании для каждого из упомянутых выше пунктов мы используем YAML
, потому что это более читаемо. Самый читаемый. Самый читаемый.
ИЗМЕНИТЬ
Единственная абстрактная ситуация, которую я могу себе представить для использования XML
over YAML
-, вероятно, для некоторых динамических файловых писателей, поскольку с ними проще манипулировать узлами с помощью SimpleXML
или что-то в этом роде. Например, если вам нужно определить какой-либо файл конфигурации, построить схемы в тестах и т.д.
Но трудно представить себе другую ситуацию.
ДРУГОЕ ИЗМЕНЕНИЕ:
Поскольку мой ответ был принят, я не могу не согласиться с m2mdas - как он упоминал в своем ответе ниже, еще одна вещь, которая имеет смысл использовать XML
, - это поддержка автозаполнения IDE.
Преимущество xml congiruration - автоматическое завершение IDE и мгновенная проверка. В качестве элементов, определяемых конкретным определением схемы, IDE могут мгновенно проверять элементы против него, что невозможно в YAML или JSON. Также я думаю, что Symfony проверяет элементы xml в конфигурации против определения перед его обработкой.
Изменить:
Подтверждением я имел в виду проверку структуры элемента в соответствии с определенной схемой. Лучше проверить конфигурацию перед ее обработкой. Например, services.yml
с сотнями определения объекта службы имеет ошибку в определении 99-й службы. Анализатор Yaml будет обрабатывать поэтапно, создавать дорогостоящие объекты обслуживания с высокой интенсивностью процессора и с ошибкой 99-го определения. Если для service.xml
с определенной схемой вы можете проверить структуру элемента и обработать их, если это ОК. Очевидно, что второй процесс эффективен.
Fabien Potencier написал о преимуществах использования XML над YAML в своем блоге:
Когда файл XML загружается, он автоматически проверяется с помощью встроенного файла services.xsd;
XML может быть автоматически завершен в IDE,
Формат XML быстрее, чем YAML,
Формат XML не содержит внешних зависимостей (формат YAML зависит от компонента sfYAML).
Хотя этот пост был написан для symfony1.x, точки также могут быть обязательно применены для Symfony2.
Еще одна вещь в пользу XML - это возможность определять параметры с помощью константы PHP, что невозможно с помощью YAML.