1. Go to this page and download the library: Download kslimani/cerberus library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kslimani / cerberus example snippets
error_reporting(-1);
use Cerberus\ErrorHandler;
use Cerberus\Handler\DebugHandler;
$errorHandler = new ErrorHandler;
$errorHandler->addHandler(new DebugHandler);
use Cerberus\ErrorHandler;
use Cerberus\Handler\LoggerHandler;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$errorHandler = new ErrorHandler;
$logger = new Logger('errors');
$logger->pushHandler(new StreamHandler('/path/to/errors.log', Logger::NOTICE));
$errorHandler->addHandler(new LoggerHandler($logger));
use Cerberus\ErrorHandler;
$errorHandler = new ErrorHandler;
$errorHandler->addHandler(function($message, $extra) {
// $message is a formatted error message
// $extra is an array with error/exception details
});
use Cerberus\ErrorHandler;
use Cerberus\Handler\DebugHandler;
use Cerberus\Handler\LoggerHandler;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Silex\Application;
use Silex\Provider\TwigServiceProvider;
use Symfony\Component\HttpFoundation\Response;
// Setup autoloader
usExceptionHandler(false)
;
if ($debug) {
$errorHandler->addHandler(new DebugHandler(false));
}
$logger = new Logger('errors');
$logger->pushHandler(new StreamHandler('/path/to/errors.log', Logger::NOTICE));
$errorHandler->addHandler(new LoggerHandler($logger));
// Create and setup application
$app = new Application();
$app['debug'] = $debug;
$app['exception_handler']->disable();
$app['cerberus'] = $errorHandler;
// Register services
$app->register(new TwigServiceProvider());
// Register simple error pages service
$app['error.response'] = $app->protect(function ($code) use ($app) {
if ($app->offsetExists('twig')) {
// 404.html, or 40x.html, or 4xx.html, or default.html
$templates = array(
'errors/'.$code.'.html',
'errors/'.substr($code, 0, 2).'x.html',
'errors/'.substr($code, 0, 1).'xx.html',
'errors/default.html'
);
return new Response($app['twig']->resolveTemplate($templates)->render(array('code' => $code)), $code);
} else {
return new Response(sprintf("<h1>HTTP Error %s</h1>", $code), $code);
}
});
// Register fatal error handler
$app['cerberus']->addHandler(function($message, $extra) use ($app) {
if ($app['debug']) {
return;
}
$app['cerberus']->emptyOutputBuffers();
$response = $app['error.response'](500);
return $response->send();
});
// Register application exception handler
$app->error(function (\Exception $e, $code) use ($app) {
if (($code >= 500) && $app['debug']) {
return;
}
return $app['error.response']($code);
});
// Setup routes
$app->get('/hello/{name}', function($name) use($app) {
return 'Hello ' . $app->escape($name);
});
// Run application
$app->run();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.