Laminas-Whoops, integrated whoops in Laminas
whoops is an error handler base/framework for PHP. Out-of-the-box, it provides a pretty error interface that helps you debug your web projects, but at heart it's a simple yet powerful stacked error handling system.
-
cd my/project/directory
-
create a
composer.json
file with following contents:{ "require-dev": { "ppito/laminas-whoops": "^2.0" } }
-
install composer via
curl -s http://getcomposer.org/installer | php
(on windows, download http://getcomposer.org/installer and execute it with PHP) -
run
php composer.phar install
-
open
my/project/directory/configs/modules.config.php
and add the following key :'WhoopsErrorHandler', // must be added as the first module
-
optional : copy
config/module.config.php
inmy/project/directory/config/autoload/laminas-whoops.local.php
-
optional : edit
my/project/directory/config/autoload/laminas-whoops.local.php
By default this module use the simple php render, but you can now specify your favorite render.
Twig render
has been supported, you just need to change the template_render
configuration:
'template_render' => 'laminas_whoops/twig_error',
It is now possible to manage the module loading by implement your own rules. For example, the module can be loaded only for the admin users or only for dev&preprod environments.
- Create your own class by implement the interface VisibilityServiceInterface (or the abstract VisibilityServiceAbstract)
- @see example VisibilityService.visibility-example.php.
- Change the
visibility_service_name
configuration to specify the name of your class.- @see example module.config.visibility-example.php.
'visibility_service_name' => Application\Service\VisibilityService::class,
By default, this module will route all exceptions to Whoops; however, you can create a list of exception classes that will be ignored by Whoops.
Set the ignored_exceptions
configuration to an array of class names:
'ignored_exceptions' => [My\Exception::class, My\OtherException::class]
ppito/laminas-whoops is licensed under the MIT License - See the LICENSE file for details.