如何在Symfony2外部控制器中定位资源?
我知道在Symfony 2中,我们可以从控制器使用服务内核来定位资源,如下所示:如何在Symfony2外部控制器中定位资源?,symfony,Symfony,我知道在Symfony 2中,我们可以从控制器使用服务内核来定位资源,如下所示: $yamlFileKeys = $this->get('kernel')->locateResource('@CgboardAppBundle/Resources/config/myfile.yml'); 我的问题更多的是,当我们不在控制器中时,如何定位资源?我以前也尝试过类似的方法: file_get_contents('@CgboardAppBundle/Resources/config/my
$yamlFileKeys = $this->get('kernel')->locateResource('@CgboardAppBundle/Resources/config/myfile.yml');
我的问题更多的是,当我们不在控制器中时,如何定位资源?我以前也尝试过类似的方法:
file_get_contents('@CgboardAppBundle/Resources/config/myfile.yml')
而且资源一直没有找到。有什么想法吗?这取决于要加载的文件。 如果您想加载、处理和验证配置文件,有一个非常强大的组件可以实现这一点: 如果要加载其他文件类型,还有另一个组件,Finder组件 因此,如果您只想处理一个.yml文件,您可以使用YAML组件和Finder组件
use Symfony\Component\Yaml\Parser;
use Symfony\Component\Finder\Finder;
$yaml = new Parser();
$finder = new Finder();
$finder->files()->in(__DIR__);
foreach ($finder as $file) {
$values = $yaml->parse($file->getContents());
...
}