2011-02-05 128 views
3

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

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

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

谢谢。

UPDATE:

我才意识到,下面的代码做什么,我想我需要。注意print_r中的第二个参数。很酷...

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

任何样品输入/输出? – BoltClock 2011-02-05 22:06:06

回答

6

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

$array = yaml_import(...); 

$array = var_export($array, 1); 
file_put_contens($fn, "<?php \$array = $array; ?>"); 
3
file_put_contents('file.php', '<?php ' . var_export(your_yaml_parser_function_which_returns_php_array('file.yaml'), true)); 
4

只是尝试使用的Symfony YAML组件

Symfony2 Yaml组件非常简单,由两个主要类组成:一个解析YAML字符串(解析器),另一个解析d将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'));