Я использую компонент Symfony YAML для анализа файлов конфигурации Flexget. Однако бывают случаи, когда он преобразует последовательность ТВ-шоу в нумерованный список, когда на самом деле это должен быть список с тире -
.
НЕПРАВИЛЬНЫЙ пример:
templates:
tv:
private_torrents: no
regexp:
accept:
12: 'Absolute Duo'
13: 'Yuri Kuma Arashi'
14: 'Miritari!'
...
Правильный пример:
templates:
tv:
private_torrents: no
regexp:
accept:
- 'Absolute Duo'
- 'Yuri Kuma Arashi'
- 'Miritari!'
...
Как я могу предотвратить это?
Вот как я сбрасываю свой YAML в файл: $config = Yaml::dump($this->config, 99, 2);
Я использую 99
потому что я никогда не хочу встроенной конфигурации.
Конфигурация, которую я сбрасываю:
array (size=2)
'templates' =>
array (size=1)
'tv' =>
array (size=4)
'private_torrents' => string 'no' (length=2)
'regexp' =>
array (size=1)
'accept' =>
array (size=9)
0 => string 'Shingeki no Bahamut' (length=19)
1 => string 'Sora no Method' (length=14)
2 => string 'Gugure! Kokkuri-san' (length=19)
3 => string 'Majin Bone' (length=10)
4 => string 'Grisaia no Kajitsu' (length=18)
5 => string 'Queen Blade Rurou no Senshi' (length=29)
6 => string 'Daitoshokan no Hitsujikai' (length=25)
7 => string 'Trinity Seven' (length=13)
8 => string 'Akame ga Kill!' (length=14)
Можете ли вы опубликовать входной файл конфигурации, который вы демпинг?
также, единственная причина, по которой я предполагаю, что проблема может быть, заключается в том, что ваш вход считается хешем, глядя на эту строку, показывает, что если ваш массив не содержит ключей от 0 до count-1, ваш вход будет рассматриваться как хеш:
https://github.com/symfony/Yaml/blob/master/Dumper.php#L57
И если считать хешем, вместо вывода "-"
, он выведет "key: value"
yaml