Когда вложенные последовательности нумеруются в компоненте Symfony YAML

Я использую 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

Решение

Не могли бы вы опубликовать данные конфигурации, которые вы сбрасываете?

Кроме того, единственная причина, по которой я предполагаю, что проблема может заключаться в том, что ваш ввод рассматривается как хэш, если посмотреть на эту строку, то видно, что если ваш массив не содержит ключей от 0 до count-1, ваш ввод будет рассматриваться как хеш:

https://github.com/symfony/Yaml/blob/master/Dumper.php#L57

И если рассматривать как хеш, вместо вывода "-"будет выводить "key: value" YAML

https://github.com/symfony/Yaml/blob/master/Dumper.php#L64

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]