我需要在 Symfony2 中为我的捆绑包配置一些配置
放置它们的最佳位置在哪里?
以及如何从那里检索它们?
我在PARAMETERS.INI
中使用了我的默认数据库参数但是我需要额外的参数,我可以在代码中亲自检索它们。
答案 0 :(得分:4)
src/Company/SomeBundle/Resources/config/parameters.yml
答案 1 :(得分:3)
要定义所需的任何额外参数,请在config.yml文件中定义它们。类似的东西:
# app/config/config.yml
parameters:
my_mailer.class: Acme\HelloBundle\Mailer
my_mailer.transport: sendmail
然后,您可以在服务容器可用的任何位置检索它们,例如在控制器内部,就像检索doctrine或swiftmailer之类的任何其他服务一样。例如,在控制器中,执行
$transport = $this->get('my_mailer.transport');
如果需要,可以在paramters.ini中定义这些参数,您将得到相同的结果。
答案 2 :(得分:1)
请参阅How to expose a Semantic Configuration for a Bundle食谱条目。这种方法的一个优点是您可以验证配置。
答案 3 :(得分:0)
在parameters.ini文件中使用不同的部分。您可以使用带有prod1前缀的参数和带有相同的prod2的prod1环境:
parameters.ini:
[parameters]
prod1_database_driver = pdo_mysql
prod1_database_host = 127.0.0.1
# ...
prod2_database_driver = pdo_mysql
prod2_database_host = localhost
他们都使用prod.yml配置,但覆盖了你想从parameters.ini读取的东西:
config_prod1.yml:
imports:
- { resource: config_prod.yml }
// .. overwrite stuff here