1. Go to this page and download the library: Download swoft/whoops 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/ */
swoft / whoops example snippets
'httpDispatcher' => [
// Add global http middleware
'middlewares' => [
// Notice: Please add to the first place
\Swoft\Whoops\WhoopsMiddleware::class,
],
],
declare(strict_types=1);
namespace App\Exception\Handler;
use Swoft\Error\Annotation\Mapping\ExceptionHandler;
use Swoft\Http\Message\ContentType;
use Swoft\Http\Message\Response;
use Swoft\Http\Server\Exception\Handler\AbstractHttpErrorHandler;
use Swoft\Log\Helper\CLog;
use Swoft\Whoops\WhoopsHandler;
use Throwable;
use function bean;
use function context;
use const APP_DEBUG;
/**
* Class HttpExceptionHandler
*
* @ExceptionHandler(\Throwable::class)
*/
class HttpExceptionHandler extends AbstractHttpErrorHandler
{
/**
* @param Throwable $e
* @param Response $response
*
* @return Response
*/
public function handle(Throwable $e, Response $response): Response
{
$request = context()->getRequest();
if ($request->getUriPath() === '/favicon.ico') {
return $response->withStatus(404);
}
// Log
CLog::error($e->getMessage());
// Debug is false
if (!APP_DEBUG) {
return $response
->withStatus(500)
->withContent($e->getMessage());
}
// Debug is true
$whoops = bean(WhoopsHandler::class);
$content = $whoops->run($e, $request);
return $response->withContent($content)->withContentType(ContentType::HTML);;
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.