当前位置: 首页 > 面试题库 >

在Symfony2中访问与捆绑包相关的文件

寇景明
2023-03-14
问题内容

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

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

有什么方法可以访问控制器或其他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');


 类似资料:
  • 问题内容: 编辑:Symfony最佳做法回答了我的大部分问题。 关于我的Symfony2应用程序,我有几个问题。 它将有一个前端和一个后端,并且它们将使用一些通用代码(例如日期显示器,分页器,一些经常使用的模板等)。 因此,我创建了一个FrontendBundle和一个BackendBundle,它们分别包含各自的布局。第一个问题:为前端和后端创建捆绑包(这是甚至没有控制器的“通用”捆绑包)的优良

  • 问题内容: 我知道与此相关的一些问题,但是它们在Objective-C中。 如何 在实际的iPhone上*使用Swift 访问应用程序中包含的文件?我希望能够从中读取和写入。如果您想看一下,这是我的项目文件。如有必要,我很乐意添加详细信息。 * 问题答案: 只需在应用程序捆绑中搜索资源 但是,您无法写入它,因为它位于应用程序资源目录中,并且必须在文档目录中创建它才能写入 现在您可以从 fileUR

  • 我在一个普通的Java应用程序中使用两个OSGi框架。这两个框架都从共享目录加载捆绑包。 在一个包中,我从参考资料中加载了一个文件。我试过不同的方法 但我使用哪一个命令并不重要,一开始都很好。但是,在两个框架中执行了几个安装和卸载步骤之后。返回的InputStream为空。 如果只使用一个OSGi框架,我也可以正常工作。 经过一点调试,我发现包a得到了 指向正确的jar文件,但是当我在包的Bund

  • 目前我有一个全球文件,我在项目中定义我的资产,并在整个应用程序中使用它们。我有几个bundle,它们的所有资产都在这个全局不清晰且不好。 我想定义一个,每个捆绑包都有相应的资产。它们将位于bundle配置中。 我不知道如何使它们可用于整个应用程序。我应该以某种方式使用还是框架加载文件(哪个名称遵循某些约定)?我将不胜感激如何实现上述提示。 编辑:我应该多解释一点...在我的config.yml我导

  • 在内的中尝试将我的包放入我的意图时出错。 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.os.bundle.putString(java.lang.String,java.lang.String)” 我也尝试创建一个新的捆绑包,而不是使用额外的,但得到了与上面相同的错误。奇怪的是,方法可以很好地处理一个变量,并且可以正确地传递