Caution: You are browsing the legacy Logo of the legacy symfony 1 version 1.x part of this website.
This version of symfony is not maintained anymore. If some of your projects still use this version, consider upgrading.

Master Symfony fundamentals

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).

Discover SensioLabs' Professional Business Solutions

Peruse our complete Symfony & PHP solutions catalog for your web development needs.
The Reference Book

The symfony framework provides a built-in configuration file for application specific settings, the app.yml configuration file.

This YAML file can contain any setting you want that makes sense for your specific application. In the code, these settings are available through the global sfConfig class, and keys are prefixed with the app_ string:


All settings are prefixed by app_ because the sfConfig class also provides access to symfony settings and project directories.

As discussed in the introduction, the app.yml file is environment-aware, and benefits from the configuration cascade mechanism.

The app.yml configuration file is a great place to define settings that change based on the environment (an API key for instance), or settings that can evolve over time (an email address for instance). It is also the best place to define settings that need to be changed by someone who does not necessarily understand symfony or PHP (a system administrator for instance).


Refrain from using app.yml to bundle application logic.


The app.yml configuration file is cached as a PHP file; the process is automatically managed by the sfDefineEnvironmentConfigHandler class.