Permalink
Browse files

feature #3577 Development of custom error pages is impractical if you…

… need to set kernel.debug=false (mpdude)

This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #3577).

Discussion
----------

Development of custom error pages is impractical if you need to set kernel.debug=false

Also see
symfony/symfony#7446 and symfony/symfony#1486

Commits
-------

6aa90e0 Use WebfactoryExceptionsBundle instead of webfactory/exceptions-bundle
2fee263 Update error_pages.rst
435019c Point out the difference between error and exception pages.
2194607 Add a pointer to webfactory/exceptions-bundle which helps with development of custom error pages.
  • Loading branch information...
weaverryan committed Mar 9, 2014
2 parents 3f4b319 + 859c61d commit 5ad1599bda2bde0fdff2762c9fcb852eb39c5b32
Showing with 21 additions and 2 deletions.
  1. +21 −2 cookbook/controller/error_pages.rst
@@ -29,13 +29,30 @@ control you need:
which allows complete control over exception handling. For more
information, see :ref:`kernel-kernel.exception`.
The default ``ExceptionController`` will either display an
*exception* or *error* page, depending on the setting of the ``kernel.debug``
flag. While *exception* pages give you a lot of helpful
information during development, *error* pages are meant to be
shown to the end-user.
.. sidebar:: Testing Error Pages during Development
You should not set ``kernel.debug`` to ``false`` in order to see your
error pages during development. This will also stop
Symfony2 from recompiling your twig templates, among other things.
The third-party `WebfactoryExceptionsBundle`_ provides a special
test controller that allows you to display your custom error
pages for arbitrary HTTP status codes even with
``kernel.debug`` set to ``true``.
All of the error templates live inside the TwigBundle. To override the
templates, simply rely on the standard method for overriding templates that
live inside a bundle. For more information, see
:ref:`overriding-bundle-templates`.
For example, to override the default error template that's shown to the
end-user, create a new template located at
For example, to override the default error template, create a new
template located at
``app/Resources/TwigBundle/views/Exception/error.html.twig``:
.. code-block:: html+jinja
@@ -110,3 +127,5 @@ Symfony uses the following algorithm to determine which template to use:
customized in the same way by creating templates such as
``exception.html.twig`` for the standard HTML exception page or
``exception.json.twig`` for the JSON exception page.
.. _`WebfactoryExceptionsBundle`: https://github.com/webfactory/exceptions-bundle

0 comments on commit 5ad1599

Please sign in to comment.