Конвертировать файл YAML в файл PHP - PullRequest
3 голосов
/ 06 февраля 2011

У меня есть куча файлов конфигурации Yaml, которые я хочу преобразовать в обычные файлы PHP, чтобы приложение не обрабатывало файлы Yaml каждый раз.

Я знаю, что существует множество библиотекгде вы сможете конвертировать Yaml в массив php, но есть ли библиотеки, которые позволят вам конвертировать файл yaml в файл php?

Сложность заключается в том, что преобразование файла yaml вphp обычно создает многомерный массив.

Спасибо.

ОБНОВЛЕНИЕ:

Я только что понял, что следующий код делает то, что мне нужно.Обратите внимание на второй параметр в print_r.Довольно круто ...

$test = print_r($yaml, true);
file_put_contents('test.php', $test);

Ответы [ 3 ]

6 голосов
/ 06 февраля 2011

Существует простое встроенное в экспорт PHP-переменной / массива , которое позволяет написать небольшой скрипт для этой задачи:

$array = yaml_import(...);

$array = var_export($array, 1);
file_put_contens($fn, "<?php \$array = $array; ?>");
6 голосов
/ 07 октября 2014

Просто попробуйте использовать компонент Symfony YAML

Компонент Symfony2 Yaml очень прост и состоит из двух основных классов: один анализирует строки YAML (Parser), а другой выводит массив PHP в строку YAML (Dumper).

Помимо этих двух классов, класс Yaml действует как тонкая оболочка, которая упрощает общее использование.

Чтение файлов YAML

Метод parse () анализирует строку YAML и преобразует ее в массив PHP:

use Symfony\Component\Yaml\Parser;

$yaml = new Parser();

$value = $yaml->parse(file_get_contents('/path/to/file.yml'));
4 голосов
/ 06 февраля 2011
file_put_contents('file.php', '<?php ' . var_export(your_yaml_parser_function_which_returns_php_array('file.yaml'), true));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...