Sort YAML file keys alphabetically
Published on 2021-08-15 • Modified on 2021-08-15
In this snippet, we see how to sort YAML file keys alphabetically with the YAML component. This is something that can be useful to normalize YAML i18n files. Be careful that constants are replaced by their actual values (thanks to the Yaml::PARSE_CONSTANT
flag), and comments are lost. One other cron is that quotes are normalized, so you don't mix of single, double or not quote at all! 🌈
$yamlFile = $this->getParameter('kernel.project_dir'). '/translations/search/search.en.yaml';
$yamlContent = Yaml::parseFile($yamlFile, Yaml::PARSE_CONSTANT);
ksort($yamlContent, SORT_NATURAL);
$yamlNewContent = Yaml::dump($yamlContent);
file_put_contents($yamlFile, $yamlNewContent);
More on Stackoverflow Read the doc Random snippet