简体   繁体   中英

Symfony2: accessing variables defined in config.yml and config_*.yml

Let's say I have a simple traditional contact form on my site and I would like it to use the subject "Test: (subject_field value)" in dev environment and "(subject_field_value)" in prod environment when sending e-mail. Is there a way to define a variable called "subject_prefix" in config_dev.yml and config_prod.yml and then just use something like $this->get('config')->get('subject_prefix') ? I would expect that call to return "Test: (subject_field value)" in dev environment and "(subject_field_value)" in prod environment.

The best to do is :

In the config.yml

parameters:
    url: domain.com

In the controller :

$value = $this->container->getParameter('url');

Hope it helps.

In Symfony 2.7+:

$value = $this->getParameter('url');

请参阅如何为Bundle cookbook文章公开语义配置

If you do not want to clutter your "parameters.yml" and do want to store it in the config.yml and config_dev.yml look at my answer here:

How do I read configuration settings from Symfony2 config.yml?

The one that contains the two approaches:

  • FIRST APPROACH: Separated config block, getting it as a parameter
  • SECOND APPROACH: Separated config block, injecting the config into a service

Hope this helps!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM