我想存储一些特定于应用程序的值,例如:
我发现到目前为止最近的是http://symfony.com/doc/2.0/cookbook/bundles/best_practices.html#configuration
如果我使用app/config/parameters.ini
,它将会是:
[flickr]
callbackUrl = http://example.com/approve
requestTokenUrl = http://www.flickr.com/services/oauth/request_token
consumerKey = 123a1237a29b123a5541232e0279123
[app]
default_layout = 2
这些应该可以在不同的包中使用,也可以在模板中使用
答案 0 :(得分:6)
这些应该可以在不同的包中使用,也可以在模板中使用
他们是。只要您可以访问容器,就可以访问参数。从您链接到的文档:
$container->getParameter('acme_hello.email.from');
我认为您的parameters.ini
示例中存在错误。 'flickr'和'app'不应该用括号括起来。此外,parameters.ini的第一个元素应该是[parameters]
。
就个人而言,我喜欢使用app.yml
文件,因为我习惯在Symfony 1.x项目中使用它(因为我没有看到使用.ini文件的原因。)。您可以创建app/config/app.yml
并将其导入app/config/config.yml
文件,如下所示:
imports:
- { resource: app.yml }
你的app.yml看起来像这样:
parameters:
flickr:
callbackUrl: http://example.com/approve
requestTokenUrl: http://www.flickr.com/services/oauth/request_token
consumerKey: 123a1237a29b123a5541232e0279123
app:
default_layout: 2
这就是你访问数据的方式:
$container->getParameter('flickr.callbackUrl');
第三种选择是直接在app/config/config.yml
中定义参数。代码与app/config/app.yml
的示例完全相同。我不建议这样做,因为app/config/config.yml
可以充满捆绑配置参数,我认为将自己的应用程序参数保存在单独的文件中会更清晰。但当然,这完全取决于你。