我需要在Symfony2中为我的包进行一些配置
放置它们的最佳位置是哪里?
我怎样才能从那里检索它们?
我在中使用了我的默认数据库参数,PARAMETERS.INI
但我需要额外的参数,我可以在代码中亲自检索它们。
我需要在Symfony2中为我的包进行一些配置
放置它们的最佳位置是哪里?
我怎样才能从那里检索它们?
我在中使用了我的默认数据库参数,PARAMETERS.INI
但我需要额外的参数,我可以在代码中亲自检索它们。
例如,应该将他的参数保存在包中
src/Company/SomeBundle/Resources/config/parameters.yml
要定义您需要的任何额外参数,请在 config.yml 文件中定义它们。就像是:
# app/config/config.yml
parameters:
my_mailer.class: Acme\HelloBundle\Mailer
my_mailer.transport: sendmail
然后,您可以在服务容器可用的任何地方检索它们,例如在控制器内部,就像您检索任何其他服务(如教义或 swiftmailer)一样。例如,在控制器中,执行
$transport = $this->get('my_mailer.transport');
如果需要,您可以在 paramters.ini 中定义这些参数,您将得到相同的结果。
请参阅如何公开捆绑说明书条目的语义配置。这种方法的优点之一是您可以验证配置。
在 parameters.ini 文件中使用不同的部分。您可以使用带有前缀 prod1 的参数和具有相同前缀的 prod2 的 prod1 环境:
参数.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