php - 在 Symfony2 中访问与 Bundle 相关的文件

在 Symfony2 应用的路由配置中,我可以引用这样的文件:

somepage:
    prefix: someprefix
    resource: "@SomeBundle/Resources/config/config.yml"

有没有办法在 Controller 或其他 PHP 代码中访问与包相关的文件?特别是,我正在尝试使用 Symfony\Component\Yaml\Parser 对象来解析文件,并且我不想绝对引用该文件。本质上,我想这样做:

$parser = new Parser();
$config = $parser->parse( file_get_contents("@SomeBundle/Resources/config/config.yml") );

我已经检查了 Symfony\Component\Finder\Finder 类,但我认为这不是我想要的。有任何想法吗?或者也许我完全忽略了这样做的更好方法?

最佳答案

事实上,您可以使用一个服务,即内核 ($this->get('kernel'))。它有一个名为 locateResource() 的方法。 .

例如:

$kernel = $container->getService('kernel');
$path = $kernel->locateResource('@AdmeDemoBundle/path/to/file/Foo.txt');

https://stackoverflow.com/questions/7585474/

相关文章:

javascript - 使用 onclick 执行 PHP 函数

php - 如何使用 PHP 从字符串中删除最后一个逗号?

php - 在 PHP 中如何清除 WSDL 缓存?

php - 一起注释掉 HTML 和 PHP

php - 如何从访客那里获得真实 IP?

php - 什么是 PHP 中的工厂设计模式?

php - 基于多个 ID 检索 Laravel 模型结果

php - 使用 curl 下载大文件

php - PHP中的静态类初始化器

php - 函数只返回字符串中的字母数字字符?