peraleks / laravel-pretty-errors
Error formatter for Laravel.
v1.0.0
2017-03-31 11:44 UTC
Requires
- php: ^7.0
- laravel/framework: >=5.1
This package is not auto-updated.
Last update: 2024-11-10 03:05:25 UTC
README
LaravelPrettyErrors
Error formatter for Laravel 5.1 or later. Provides a convenient display as HTML-page and in the browser console. Provides an enhanced view of the stack trace (viewing the contents of the arguments: array, closure, resource, string; and view PHPDoc classes and methods). Provides the opportunity to configure custom pages 404 and 500.
Install
$ composer require peraleks/laravel-pretty-errors
Usage
Copy file vendor/peraleks/laravel-pretty-errors/src/Config/pretty-errors.php to Laravel config_path (app/config).
Add code to App\Exceptions\Handler :
use Peraleks\LaravelPrettyErrors\Core\PrettyHandler; use Symfony\Component\Debug\Exception\FlattenException; use Symfony\Component\HttpFoundation\Response as SymfonyResponse; protected function convertExceptionToResponse(Exception $e) { $html = PrettyHandler::format($e, config_path('pretty-errors.php')); $e = FlattenException::create($e); return SymfonyResponse::create($html, $e->getStatusCode(), $e->getHeaders()); }
Configuration
File pretty-errors.php
$development = [ \Peraleks\LaravelPrettyErrors\Notifiers\HtmlNotifier::class => [ 'enabled' => true, // [bool] switch error display as html 'handleTrace' => E_ALL, // [int] switch trace processing (bitwise mask) 'simpleTrace' => true, // [bool] switch display arguments in trace 'hideTrace' => true, // [bool] switch trace display on start 'fontSize' => 15, // [int] main font size in pixels (works as a scale) 'stringLength' => 80, // [int] line length in cells 'tooltipLength' => 1000, // [int] line length in extended view 'arrayLevel' => 2, // [int] nesting level of arrays ], \Peraleks\LaravelPrettyErrors\Notifiers\BrowserConsoleNotifier::class => [ 'enabled' => true, // [bool] switch error display in browser console 'handleTrace' => E_ALL, // [int] switch trace processing (bitwise mask) 'phpNativeTrace' => true, // [bool] switch PHP native trace display 'console' => 'log', // [string] browser console section (error|warn|info|log|debug) ], ]; $production = [ \Peraleks\LaravelPrettyErrors\Notifiers\ProductionNotifier::class => [ 'enabled' => true, // [bool] switch error page display in production 'file404' => '', // [string] fully qualified file name or blade-template name 'file500' => '', // [string] fully qualified file name or blade-template name /* For blade-template, write 'view.404' where '404' is the name for 404.blade.php . You can use native PHP template. To do this, enter the fully qualified file name. The file may not be a template, but must return or print a string. For example, a file can contain such a code: return "<h2>Page not found</h2>"; or echo view('404')->render(); */ ], ];
License
The MIT License (MIT).