- What is fp/badaboom and how does it fit into a Laravel app?
- BadaBoom is a framework-agnostic PHP error catcher built around Boom, chain handlers, data collectors and adapters, not a native Laravel component. Some package blurbs describe it as Laravel-first with auto-discovery and publishable config, but the actual tag ships with no service provider, facade or config contract, so integration is manual. In practice you wrap it behind your own interface and delegate from App\Exceptions\Handler.
- Which PHP and Laravel versions does fp/badaboom support?
- There are no declared Laravel version constraints, so check the composer.json of the exact release you install before writing any code. Expect gaps for PHP 8.x and Laravel 10 or 11, and note that the BadaBoom namespace does not match the fp/badaboom Composer name. Pin the exact version and assume you may need to fork and own it.
- How do I install fp/badaboom with Composer?
- Run composer require fp/badaboom and pin an explicit version in your composer.json. There is no package auto-discovery and no vendor:publish step, so nothing registers itself. After install you construct Boom, your handler chain and any data collectors yourself in a service provider or a small factory class.
- How do I wire fp/badaboom into Laravel's exception handler?
- Wrap BadaBoom behind an internal interface and call it from exactly one place: withExceptions()->report() in Laravel 11+, or an AppServiceProvider binding that hooks report() in earlier versions. Never register both set_exception_handler and report(), because that causes double reporting. Keep Laravel as the system of record for rendering and reporting.
- Should I replace Laravel's built-in exception handler with BadaBoom?
- No. Laravel already covers this surface through App\Exceptions\Handler, report() and render(), middleware, queue context, Ignition and first-class Sentry, Flare, Bugsnag and Monolog integrations, so replacing it means rebuilding behaviour you get for free. Decorate instead: delegate from Laravel's handler so parity is measurable and rollback stays trivial.
- Does fp/badaboom integrate with Sentry, Flare, Bugsnag or Monolog?
- There is no first-class integration with any of them; you would write a handler or adapter that forwards events to a PSR-3 logger or tracker client. Before trusting it, verify parity for context enrichment, log levels, rendering and redaction against what the native integrations already provide. Any adapter you write becomes code your team maintains.
- Is fp/badaboom safe to use in production?
- Adoption signals are weak, so treat it as high risk: audit the tag, pin it, and canary it in a low-risk service with monitoring on the reporting path itself. The handler chain runs synchronously inside exception handling, so a failing adapter can recurse or mask the original error. Agree rollback and removal criteria before any broader rollout.
- How does fp/badaboom handle PII and sensitive request context?
- There is no built-in Laravel-style redaction, so any request, user or queue context you attach is yours to scrub. Implement redaction inside your own data collectors or adapter and assert it in tests before anything leaves the process. If you cannot demonstrate parity with Laravel's existing redaction behaviour, do not ship it.
- How do I test a fp/badaboom integration in Laravel?
- Bind the wrapper behind an interface and fake it in feature tests, asserting that reporting was invoked rather than poking at BadaBoom internals. Unit-test the handler chain and data collectors separately with plain PHPUnit, since they are framework-agnostic. Avoid set_exception_handler in tests, as it interferes with PHPUnit's own error handling.
- Is fp/badaboom still maintained, and what should I use instead?
- Community signals are minimal, roughly 4 GitHub stars, zero dependents and little recent activity, so assume you own patches, security review and PHP/Laravel compatibility updates. For new Laravel work the better default is the native handler plus a supported tracker such as Sentry, Flare, Bugsnag or Monolog. Treat BadaBoom as a reference implementation of a chain-of-responsibility error model, or a tolerated dependency in legacy code.