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
getRenderer( Exception $exception )
Get a renderer instance
$exception
Cake\Error\ExceptionRendererInterface
handleException( 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\Exception
config( 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\Exception
configShallow( 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\Exception
protected 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–2018 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.5/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html