Error handling middleware.
Traps exceptions and converts them into HTML or content-type appropriate error pages using the CakePHP ExceptionRenderer.
$_defaultConfig
protected array
__construct( string|callable|null $renderer null , array $config [] )
Constructor
$renderer
optional null The renderer or class name to use or a callable factory.
$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\BaseErrorHandler
handleException( Exception $exception , Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response )
Handle an exception and generate an error response
$exception
$request
$response
logException( Psr\Http\Message\ServerRequestInterface $request , Exception $exception )
Log an error for the exception if applicable.
$request
$exception
_configDelete( string $key )
Delete a single config key
$key
Cake\Core\Exception\Exception
_configRead( string|null $key )
Read a config variable
$key
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Write a config variable
$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 )
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->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
$value
optional null 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, ]
© 2005–2017 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.3/class-Cake.Error.Middleware.ErrorHandlerMiddleware.html