2016-04-18 8 views
3

私はすべての特定の.ymlファイルをFoldersサブフォルダから解析しようとしています。ように私はテスト&の例のサブフォルダでモジュールフォルダを持っていると言うことができます。テストとサンプルの両方に、解析したい.ymlファイルがあります。symfonyはサブフォルダからyamlファイルを解析します

現在、私は持っている:

$yaml = new Parser(); 
$yml_array = $yaml->parse(file_get_contents(__DIR__.'/path/to/file.yml')); 

これは動作しますが、.ymlファイルと新しいサブフォルダを追加したときのお尻の打ち毎回の痛みになります。

誰かが私を助けて、賢くやる方法を教えてもらえますか? あなたの時間をありがとう

答えて

1

おかげマッテオ、それは本当に私のニーズに適合しますが、助けませんでした。

$yaml = new Parser(); 
$finder = new Finder(); 
$parsedData = array(); 
$tmp = $finder->files()->in(__DIR__.'/../path/to/folder')->name('test.yml'); 

foreach ($tmp as $t) 
{ 
    $x = $yaml->parse(file_get_contents($t)); 
    array_push($parsedData, $x); 
} 

私は、次の解決策を見つけました

4

DirectoryLoader:再帰的なローダーを使用して、ディレクトリを通過できます。例:

// Load recursively all YAML configuration files in services directories 
$fileLocator = new FileLocator(__DIR__); 
$loader = new DirectoryLoader($container, $fileLocator); 
$loader->setResolver(new LoaderResolver(array(
    new YamlFileLoader($container, $fileLocator), 
    $loader, 
))); 
$loader->load('/services/'); 

詳細はthisの記事をご覧ください。

希望有用な答えのために、このヘルプ

関連する問題