【发布时间】:2015-08-19 01:00:37
【问题描述】:
我想从控制器访问特定Asset component 目录的base_path(base_url 已注册),以便将我的报告存储到 config.yml 中预配置的特定路径。
升级到 Symfony 2.7 后,我开始更改配置,如下所示:
app/config/config.yml
framework:
assets:
version: 'v5'
version_format: '%%s?version=%%s'
base_path: ~
base_urls: ['http://cdn.example.com', 'https://secure.example.com']
packages:
reports:
base_path: bundles/mybundle
因此,当我请求特定路由时,使用正确的请求参数,我的控制器会从特定的 Twig 模板生成 HTML,最后,它将使用 KnpSnappyBundle 转换为 PDF .
最后,我的目的是构建一个可从公共资产目录访问的生成 PDF 报告列表。
$kernel->locateResource()
但是,我可以使用如下解决方法访问完整路径:
$this->container->get('kernel')->locateResource('@MyBundle/Resources/public/reports')
使用参数.yml
我还要求提供一些提示,使用parameters.yml 来管理资产组件 配置似乎是合法的。因此,从控制器中,将使用$this->getParameter() 访问它们,同时作为 Asset 的配置值。
【问题讨论】:
-
对不起,如果我遗漏了什么,但您的问题到底是什么?你能让它更突出一点吗?
-
我需要(从控制器)访问 app/config/config.yml 中定义的
base_urls,我想直接访问。类似于getAssets('base_urls')。 -
是的,但您也提供了一些解决方案,它们是不起作用还是您在问最好的解决方案是什么?我在回答中假设后者。
-
它们可以工作,但我认为最好有办法访问
assets部分的 config.yml 配置。如果您定义不同的子路径,直接检索它们而不在两个不同的 yml 文件中定义是有意义的。
标签: php symfony symfony-2.7