mirror of
https://github.com/filp/whoops.git
synced 2026-09-14 19:56:23 +00:00
83 lines
2.3 KiB
Markdown
83 lines
2.3 KiB
Markdown
# Integrating with Silex
|
|
|
|
**whoops** comes packaged with a Silex Service Provider: `Whoops\Provider\Silex\WhoopsServiceProvider`. Using it
|
|
in your existing Silex project is easy:
|
|
|
|
```php
|
|
|
|
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`:
|
|
|
|
```php
|
|
$app['whoops'] = $app->extend('whoops', function ($whoops) {
|
|
$whoops->pushHandler(new DeleteWholeProjectHandler());
|
|
return $whoops;
|
|
});
|
|
```
|
|
|
|
|
|
# Integrating with Phalcon
|
|
|
|
**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.
|
|
|
|
```php
|
|
new Whoops\Provider\Phalcon\WhoopsServiceProvider();
|
|
|
|
// --- or ---
|
|
|
|
$di = new Phalcon\DI\FactoryDefault();
|
|
new Whoops\Provider\Phalcon\WhoopsServiceProvider($di);
|
|
```
|
|
|
|
|
|
# Contributing an integration with a framework
|
|
|
|
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.
|
|
|
|
1. Keep your integration classes and instructions in a repository of your own;
|
|
2. 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.*"
|
|
}
|
|
}
|
|
```
|
|
|
|
3. [Register it with Packagist](https://packagist.org/packages/submit).
|
|
|
|
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.
|