Я использую YAML-компонент Symfony для разбора файлов конфигурации 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's 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
Других решений пока нет …