diff --git a/bundles/inheritance.rst b/bundles/inheritance.rst index 5d9a77c9793..14e0ebc0081 100644 --- a/bundles/inheritance.rst +++ b/bundles/inheritance.rst @@ -93,8 +93,9 @@ The same goes for routing files and some other resources. The overriding of resources only works when you refer to resources with the ``@FOSUserBundle/Resources/config/routing/security.xml`` method. - If you refer to resources without using the ``@BundleName`` shortcut, they - can't be overridden in this way. + You need to use the ``@BundleName`` shortcut when refering to resources + so they can be successfully overridden (except templates, which are + overridden in a different way, as explained in :doc:`/templating/overriding`). .. caution:: diff --git a/bundles/installation.rst b/bundles/installation.rst index 3b8f4cef20b..4c5a5bbbd7f 100644 --- a/bundles/installation.rst +++ b/bundles/installation.rst @@ -49,7 +49,7 @@ version, include it as the second argument of the `composer require`_ command: B) Enable the Bundle -------------------- -At this point, the bundle is installed in your Symfony project (in +At this point, the bundle is installed in your Symfony project (e.g. ``vendor/friendsofsymfony/``) and the autoloader recognizes its classes. The only thing you need to do now is register the bundle in ``AppKernel``:: diff --git a/bundles/override.rst b/bundles/override.rst index 2cbd05134dc..37c38481472 100644 --- a/bundles/override.rst +++ b/bundles/override.rst @@ -39,7 +39,7 @@ Services & Configuration If you want to modify service definitions of another bundle, you can use a compiler pass to change the class of the service or to modify method calls. In the following -example, the implementing class for the ``original-service-id`` is changed to +example, the implementing class for the ``original-service-id`` is changed to ``Acme\DemoBundle\YourService``:: // src/Acme/DemoBundle/DependencyInjection/Compiler/OverrideServiceCompilerPass.php @@ -72,17 +72,8 @@ associations. Learn more about this feature and its limitations in Forms ----- -In order to override a form type, it has to be registered as a service (meaning -it is tagged as ``form.type``). You can then override it as you would override any -service as explained in `Services & Configuration`_. This, of course, will only -work if the type is referred to by its alias rather than being instantiated, -e.g.:: - - $builder->add('name', 'custom_type'); - -rather than:: - - $builder->add('name', new CustomType()); +Existing form types can be modified defining +:doc:`form type extensions `. .. _override-validation: @@ -93,7 +84,7 @@ Symfony loads all validation configuration files from every bundle and combines them into one validation metadata tree. This means you are able to add new constraints to a property, but you cannot override them. -To override this, the 3rd party bundle needs to have configuration for +To overcome this, the 3rd party bundle needs to have configuration for :doc:`validation groups `. For instance, the FOSUserBundle has this configuration. To create your own validation, add the constraints to a new validation group: diff --git a/bundles/prepend_extension.rst b/bundles/prepend_extension.rst index 5d28080eaec..3b4107f7b70 100644 --- a/bundles/prepend_extension.rst +++ b/bundles/prepend_extension.rst @@ -2,7 +2,7 @@ single: Configuration; Semantic single: Bundle; Extension configuration -How to Simplify Configuration of multiple Bundles +How to Simplify Configuration of Multiple Bundles ================================================= When building reusable and extensible applications, developers are often @@ -12,9 +12,9 @@ users to choose to remove functionality they are not using. Creating multiple bundles has the drawback that configuration becomes more tedious and settings often need to be repeated for various bundles. -Using the below approach, it is possible to remove the disadvantage of the -multiple bundle approach by enabling a single Extension to prepend the settings -for any bundle. It can use the settings defined in the ``app/config/config.yml`` +It is possible to remove the disadvantage of the multiple bundle approach +by enabling a single Extension to prepend the settings for any bundle. +It can use the settings defined in the ``app/config/config.yml`` to prepend settings just as if they had been written explicitly by the user in the application configuration.