Features
- Includes providers for Silex and Zend Framework 2, with community-provided support for other platforms and frameworks
- Now included in the Laravel 4 core!
- Detailed & intuitive page for errors and exceptions (PrettyPageHandler)
- Code view for all frames in a stack trace with line highlights (PrettyPageHandler)
- Frame comments & analysis through custom middle-ware/handlers (PrettyPageHandler)
- Request & app-specific information through custom middle-ware/handlers (PrettyPageHandler)
- JSON & AJAX support (JsonResponseHandler)
- XML & SOAP support (XmlResponsehandler, SoapResponseHandler)
- Clean and tested code-base that's easy to extend and build on to make it work just right for your project
Download
          With Composer:
{
  "require": {
    "filp/whoops": "2.*"
  }
}$ cd my_project
$ composer installUse
In your Silex project, register the bundled Service Provider:
$app->register(new Whoops\Provider\Silex\WhoopsServiceProvider);For integration instructions with other frameworks or platforms, check out the README file.
Or if you'd rather take control, integrate it manually and tweak it to fit your needs:
require __DIR__ . "/vendor/autoload.php";
$run     = new \Whoops\Run;
$handler = new \Whoops\Handler\PrettyPageHandler;
// Add some custom tables with relevant info about your application,
// that could prove useful in the error page:
$handler->addDataTable('Killer App Details', array(
  "Important Data" => $myApp->getImportantData(),
  "Thingamajig-id" => $someId
));
// Set the title of the error page:
$handler->setPageTitle("Whoops! There was a problem.");
$run->pushHandler($handler);
// Add a special handler to deal with AJAX requests with an
// equally-informative JSON response. Since this handler is
// first in the stack, it will be executed before the error
// page handler, and will have a chance to decide if anything
// needs to be done.
if (\Whoops\Util\Misc::isAjaxRequest()) {
  $run->pushHandler(new \Whoops\Handler\JsonResponseHandler);
}
// Register the handler with PHP, and you're set!
$run->register();
Learn More & Contribute
API Documentation is available here. If you need any help, or want to give us a hand with the project, have a look at the repository!
Thank you for stopping by!
 
    