我有一堆Yaml配置文件,我想将其转换为直接的PHP文件,以便应用程序不必每次都处理Yaml文件。
我知道有很多库可以让你将Yaml转换成php数组,但有没有可以让你将yaml文件转换成php文件的库?
使这个棘手的事情是将yaml文件转换为php通常会生成一个多维数组。
感谢。
更新
我刚刚意识到以下代码可以实现我认为我需要的功能。注意print_r中的第二个参数。非常酷......
$test = print_r($yaml, true);
file_put_contents('test.php', $test);
答案 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));