1. Go to this page and download the library: Download yiisoft/error-handler library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
yiisoft / error-handler example snippets
use Yiisoft\ErrorHandler\ErrorHandler;
use Yiisoft\ErrorHandler\Renderer\HtmlRenderer;
/**
* @var \Psr\Log\LoggerInterface $logger
*/
$errorHandler = new ErrorHandler($logger, new HtmlRenderer());
// Enable debug mode:
$errorHandler->debug();
// Disable debug mode:
$errorHandler->debug(false);
// Or define the environment dynamically:
$errorHandler->debug($_ENV['debug'] ?? false);
// Allocate 512KB. Defaults to 256KB.
$errorHandler->memoryReserveSize(524_288);
$errorHandler->register();
// Errors are being handled.
$errorHandler->unregister();
// Errors are not handled.
use Yiisoft\ErrorHandler\ErrorHandler;
/**
* @var \Psr\Log\LoggerInterface $logger
* @var \Yiisoft\ErrorHandler\ThrowableRendererInterface $renderer
*/
$errorHandler = new ErrorHandler($logger, $renderer);
use Yiisoft\ErrorHandler\Factory\ThrowableResponseFactory;
/**
* @var \Throwable $throwable
* @var \Psr\Container\ContainerInterface $container
* @var \Psr\Http\Message\ResponseFactoryInterface $responseFactory
* @var \Psr\Http\Message\ServerRequestInterface $request
* @var \Yiisoft\ErrorHandler\ErrorHandler $errorHandler
*/
$throwableResponseFactory = new ThrowableResponseFactory($responseFactory, $errorHandler, $container);
// Creating an instance of the `Psr\Http\Message\ResponseInterface` with error information.
$response = $throwableResponseFactory->create($throwable, $request);
// Returns a new instance without renderers by the specified content types.
$throwableResponseFactory = $throwableResponseFactory->withoutRenderers('application/xml', 'text/xml');
// Returns a new instance with the specified content type and renderer class.
$throwableResponseFactory = $throwableResponseFactory->withRenderer('my/format', new MyRenderer());
// Returns a new instance with the specified force content type to respond with regardless of request.
$throwableResponseFactory = $throwableResponseFactory->forceContentType('application/json');
use Yiisoft\ErrorHandler\Middleware\ErrorCatcher;
/**
* @var \Psr\EventDispatcher\EventDispatcherInterface $eventDispatcher
* @var \Psr\Http\Message\ServerRequestInterface $request
* @var \Psr\Http\Server\RequestHandlerInterface $handler
* @var \Yiisoft\ErrorHandler\ThrowableResponseFactoryInterface $throwableResponseFactory
*/
$errorCatcher = new ErrorCatcher($throwableResponseFactory);
// In any case, it will return an instance of the `Psr\Http\Message\ResponseInterface`.
// Either the expected response, or a response with error information.
$response = $errorCatcher->process($request, $handler);
$errorCatcher = new ErrorCatcher($throwableResponseFactory, $eventDispatcher);
use Yiisoft\ErrorHandler\Middleware\ExceptionResponder;
/**
* @var \Psr\Http\Message\ResponseFactoryInterface $responseFactory
* @var \Psr\Http\Message\ServerRequestInterface $request
* @var \Psr\Http\Server\RequestHandlerInterface $handler
* @var \Yiisoft\Injector\Injector $injector
*/
$exceptionMap = [
// Status code with which the response will be created by the factory.
MyNotFoundException::class => 404,
// PHP callable that must return a `Psr\Http\Message\ResponseInterface`.
MyHttpException::class => static fn (MyHttpException $exception) => new MyResponse($exception),
// ...
];
$exceptionResponder = new ExceptionResponder($exceptionMap, $responseFactory, $injector);
// Returns the expected response, or the response associated with the thrown exception,
// or throws an exception if it does not present in the exception map.
$response = $exceptionResponder->process($request, $handler);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.