Error handling middleware.
Traps exceptions and converts them into HTML or content-type appropriate error pages using the CakePHP ExceptionRenderer.
$_defaultConfig protected array$exceptionRenderer protected Cake\Error\ExceptionRendererInterface|callable|string|null__construct( string|callable|null $exceptionRenderer = null , array $config = [] )
Constructor
$exceptionRenderer optional null The renderer or class name to use or a callable factory. If null, Configure::read('Error.exceptionRenderer') will be used.
$config optional [] Configuration options to use. If empty, Configure::read('Error') will be used.
__invoke( Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response , callable $next )
Wrap the remaining middleware with error handling.
$request $response $next getMessage( Psr\Http\Message\ServerRequestInterface $request , Exception $exception )
Generate the error log message.
$request $exception getMessageForException( Exception $exception , boolean $isPrevious = false )
Generate the message for the exception
$exception $isPrevious optional false getRenderer( Exception $exception , Psr\Http\Message\ServerRequestInterface $request )
Get a renderer instance
$exception $request Cake\Error\ExceptionRendererInterfacehandleException( Exception $exception , Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response )
Handle an exception and generate an error response
$exception $request $response handleInternalError( Psr\Http\Message\ResponseInterface $response )
$response logException( Psr\Http\Message\ServerRequestInterface $request , Exception $exception )
Log an error for the exception if applicable.
$request $exception _configDelete( string $key )
Deletes a single config key.
$key Cake\Core\Exception\Exception_configRead( string|null $key )
Reads a config key.
$key _configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Writes a config key.
$key $value $merge optional false True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Cake\Core\Exception\Exceptionconfig( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Gets/Sets the config.
Reading the whole config:
$this->config();
Reading a specific value:
$this->config('key'); Reading a nested value:
$this->config('some.nested.key'); Setting a specific value:
$this->config('key', $value); Setting a nested value:
$this->config('some.nested.key', $value); Updating multiple config settings at the same time:
$this->config(['one' => 'value', 'another' => 'value']);
$key optional null $value optional null $merge optional true Cake\Core\Exception\ExceptionconfigShallow( string|array $key , mixed|null $value = null )
Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.
Setting a specific value:
$this->configShallow('key', $value); Setting a nested value:
$this->configShallow('some.nested.key', $value); Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
$key $value optional null getConfig( string|null $key = null , mixed $default = null )
Returns the config.
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key'); Reading a nested value:
$this->getConfig('some.nested.key'); Reading with default value:
$this->getConfig('some-key', 'default-value'); $key optional null $default optional null setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Sets the config.
Setting a specific value:
$this->setConfig('key', $value); Setting a nested value:
$this->setConfig('some.nested.key', $value); Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
$key $value optional null $merge optional true Cake\Core\Exception\Exceptionprotected array
Default configuration values.
log Enable logging of exceptions.skipLog List of exceptions to skip logging. Exceptions that extend one of the listed exceptions will also not be logged. Example:
'skipLog' => ['Cake\Error\NotFoundException', 'Cake\Error\UnauthorizedException']
trace Should error logs include stack traces?
[
'skipLog' => [],
'log' => true,
'trace' => false,
] protected Cake\Error\ExceptionRendererInterface|callable|string|null
Exception render.
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.8/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html