The Application, (or Slim\App) is the entry point to your Slim application and is used to register the routes that link to your callbacks or controllers.
The Application accepts just one argument. This can be either a Container instance or
an array to configure the default container that is created automatically.
There are also a number of settings that are used by Slim. These are stored in the settings
configuration key. You can also add your application-specific settings.
For example, we can set the Slim setting displayErrorDetails to true and also configure
Monolog like this:
As the settings are stored in the DI container so you can access them via the settings key in container factories. For example:
You can also access them in route callables via $this:
If you need to add or update settings stored in the DI container after the container is initialized,
you can use the replace method on the settings container. For example:
Slim Default Settings
Slim has the following default settings that you can override:
The protocol version used by the Response
Size of each chunk read from the Response body when sending to the
If false, then no output buffering is enabled. If 'append'
or 'prepend', then any echo or print
statements are captured and are either appended or prepended to the Response
returned from the route callable.
When true, the route is calculated before any middleware is executed. This
means that you can inspect route parameters in middleware if you need to.
When true, additional information about exceptions are displayed by the
default error handler.
When true, Slim will add a Content-Length header to the response.
If you are using a runtime analytics tool, such as New Relic, then this should be disabled.
Filename for caching the FastRoute routes. Must be set to to a valid filename within
a writeable directory. If the file does not exist, then it is created with the correct cache
information on first run.
Set to false to disable the FastRoute cache system.