Pierre du Plessis
Contributed by Pierre du Plessis in #21270

The Symfony DependencyInjection component is pretty flexible in the way you can import other files in your application configuration. You can for example mix config formats when needed:

1
2
3
4
5
6
7
# app/config/config.yml
imports:
    - { resource: '../common/config.yml' }
    - { resource: 'dynamic-config.php' }
    - { resource: 'parameters.ini' }
    - { resource: 'security.xml' }
    # ...

You can also import entire directories to load all the resources inside them:

1
2
3
4
5
# app/config/config.yml
imports:
    - { resource: '../common/' }
    - { resource: 'acme/' }
    # ...

In Symfony 3.3 we improved this feature to support importing config files with glob patterns. This will simplify your configuration files because you can now import lots of different resources in a compact way:

1
2
3
4
5
6
7
# app/config/config.yml
imports:
    - { resource: "*.yml" }
    - { resource: "common/**/*.xml" }
    - { resource: "/etc/myapp/*.{yml,xml}" }
    - { resource: "bundles/*/{xml,yaml}/services.{yml,xml}" }
    # ...
Published in #Living on the edge