4

我需要在Symfony2中为我的包进行一些配置 放置它们的最佳位置是哪里?
我怎样才能从那里检索它们?

我在中使用了我的默认数据库参数,PARAMETERS.INI但我需要额外的参数,我可以在代码中亲自检索它们。

4

4 回答 4

4

例如,应该将他的参数保存在包中 src/Company/SomeBundle/Resources/config/parameters.yml

于 2012-11-27T17:52:01.827 回答
3

要定义您需要的任何额外参数,请在 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 中定义这些参数,您将得到相同的结果。

于 2012-08-25T19:06:22.327 回答
1

请参阅如何公开捆绑说明书条目的语义配置。这种方法的优点之一是您可以验证配置。

于 2012-08-27T06:39:09.497 回答
0

在 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
于 2012-08-25T18:23:52.263 回答