将YAML文件转换为PHP文件

时间:2011-02-05 22:04:16

标签: php yaml

我有一堆Yaml配置文件,我想将其转换为直接的PHP文件,以便应用程序不必每次都处理Yaml文件。

我知道有很多库可以让你将Yaml转换成php数组,但有没有可以让你将yaml文件转换成php文件的库?

使这个棘手的事情是将yaml文件转换为php通常会生成一个多维数组。

感谢。

更新

我刚刚意识到以下代码可以实现我认为我需要的功能。注意print_r中的第二个参数。非常酷......

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

3 个答案:

答案 0 :(得分:6)

export a PHP variable/array有一个简单的内置函数,允许你为该任务编写一个小脚本:

$array = yaml_import(...);

$array = var_export($array, 1);
file_put_contens($fn, "<?php \$array = $array; ?>");

答案 1 :(得分:6)

只需尝试使用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'));

答案 2 :(得分:4)

file_put_contents('file.php', '<?php ' . var_export(your_yaml_parser_function_which_returns_php_array('file.yaml'), true));