whoops comes packaged with a Silex Service Provider: Whoops\Provider\Silex\WhoopsServiceProvider
. Using it
in your existing Silex project is easy:
require 'vendor/autoload.php';
use Silex\Application;
// ... some awesome code here ...
if($app['debug']) {
$app->register(new Whoops\Provider\Silex\WhoopsServiceProvider);
}
// ...
$app->run();
And that's about it. By default, you'll get the pretty error pages if something goes awry in your development
environment, but you also have full access to the whoops library, obviously. For example, adding a new handler
into your app is as simple as extending whoops
:
$app['whoops'] = $app->extend('whoops', function($whoops) {
$whoops->pushHandler(new DeleteWholeProjectHandler);
return $whoops;
});
whoops comes packaged with a Phalcon Service Provider: Whoops\Provider\Phalcon\WhoopsServiceProvider
. Using it
in your existing Phalcon project is easy. The provider uses the default Phalcon DI unless you pass a DI instance into the constructor.
new Whoops\Provider\Phalcon\WhoopsServiceProvider;
// --- or ---
$di = Phalcon\DI\FactoryDefault;
new Whoops\Provider\Phalcon\WhoopsServiceProvider($di);
Lately we're prefering to keep integration libraries out of the Whoops core. If possible, consider managing an official Whoops-SomeFramework integration.
The procedure is not hard at all.
Create a composer.json
file in your repository with contents similar to the following:
{
"name": "username/whoops-someframework",
"description": "Integrates the Whoops library into SomeFramework",
"require": {
"filp/whoops": "1.*"
}
}
Once that is done, please create an issue and we will add a link to it in our README.
SomeFramework users then would write this in their composer.json
:
"require": {
"username/whoops-someframework": "*"
}
This would also install Whoops and you'd be able to release updates to your package as quickly as you wish them to.