diff --git a/components/config/definition.rst b/components/config/definition.rst index 1cfd366d986..9c69b9319bf 100644 --- a/components/config/definition.rst +++ b/components/config/definition.rst @@ -212,6 +212,10 @@ Before defining the children of an array node, you can provide options like: ``addDefaultsIfNotSet()`` If any child nodes have default values, use them if explicit values haven't been provided. +``normalizeKeys(false)`` + If called (with ``false``), keys with dashes are *not* normalized to underscores. + It is recommended to use this with prototype nodes where the user will define + a key-value map, to avoid an unnecessary transformation. A basic prototyped array configuration can be defined as follows:: @@ -310,6 +314,13 @@ The output configuration will be exactly the same as before. In other words, the ``sf_connection`` and ``default`` configuration keys are lost. The reason is that the Symfony Config component treats arrays as lists by default. +.. note:: + + As of writing this, there is an inconsistency: if only one file provides the + configuration in question, the keys (i.e. ``sf_connection`` and ``default``) + are *not* lost. But if more than one file provides the configuration, the keys + are lost as described above. + In order to maintain the array keys use the ``useAttributeAsKey()`` method:: $node diff --git a/cookbook/event_dispatcher/event_listener.rst b/cookbook/event_dispatcher/event_listener.rst index 3d50183110d..7ff3e3b2d2c 100644 --- a/cookbook/event_dispatcher/event_listener.rst +++ b/cookbook/event_dispatcher/event_listener.rst @@ -223,7 +223,7 @@ Request Events, Checking Types A single page can make several requests (one master request, and then multiple sub-requests - typically by :ref:`templating-embedding-controller`). For the core Symfony events, you might need to check to see if the event is for a "master" request -or a "sub request": +or a "sub request":: // src/AppBundle/EventListener/RequestListener.php namespace AppBundle\EventListener;