maduser / argon-whoops
Whoops debug error page integration for the Argon runtime stack.
Requires
- php: ^8.2
- filp/whoops: ^2.18
- maduser/argon-container: ^1.0
- maduser/argon-error: ^1.0
- psr/http-message: ^2.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.1
- phpunit/phpunit: ^11.5
- slevomat/coding-standard: ^8.24
- squizlabs/php_codesniffer: ^4.0
- vimeo/psalm: ^6.13
README
Whoops debug error page integration for the Argon runtime stack.
Installation
composer require maduser/argon-whoops
Register
use Maduser\Argon\Whoops\Provider\WhoopsServiceProvider; $container->register(WhoopsServiceProvider::class);
The provider registers:
Maduser\Argon\Whoops\Config\WhoopsConfigWhoops\RunMaduser\Argon\Whoops\WhoopsExceptionPolicy
WhoopsExceptionPolicy is tagged as an Argon exception policy.
Ordering
Register this provider before your application exception policy if Whoops should win for debug HTML responses.
$container->register(WhoopsServiceProvider::class); $container->set(AppExceptionPolicy::class) ->tag(ExceptionPolicyInterface::class);
Argon still owns exception dispatching and reporting. Whoops only renders an
HTML debug response when enabled. If disabled, or if the request does not accept
HTML, the policy returns null and the next Argon renderer can handle the
exception.
Configuration
Whoops is disabled by default unless the container parameters indicate a local debug application:
$parameters->set('app.env', 'local'); $parameters->set('app.debug', true);
You can override this explicitly:
use Maduser\Argon\Whoops\Config\WhoopsParameter; $parameters->set(WhoopsParameter::ENABLED, true); $parameters->set(WhoopsParameter::PAGE_TITLE, 'Argon Debug Exception');
Only boolean values are accepted for WhoopsParameter::ENABLED.
Quality Gates
composer check composer test:coverage composer psalm composer phpcs