我想存储一些特定于应用程序的值,例如:
- 特定用户选择的默认Id号,如果尚未设置
- 各种服务API的密钥/令牌/秘密,如facebook或flickr
到目前为止我发现最接近的是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
这些应该在不同的bundle和模板中可用
这些应该在不同的bundle和模板中可用
。只要可以访问容器,就可以访问参数。从你链接到的文档中:$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
可能会被bundle配置参数填满,我认为将自己的应用程序参数保存在单独的文件中会更干净。当然,这一切都取决于你。