-
Notifications
You must be signed in to change notification settings - Fork 5
/
application.php
37 lines (33 loc) · 1.15 KB
/
application.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
$config = [
'logger' => function () {
$logger = new \Monolog\Logger('PhalconSkeleton');
$logger->pushHandler(new \Monolog\Handler\StreamHandler('php://stdout'));
return $logger;
},
'dispatcher' => [
'controllerDefaultNamespace' => 'PhalconSkeleton\Application\Controller',
'taskDefaultNamespace' => 'PhalconSkeleton\Application\Task',
],
'routes' => [
'default' => [
'pattern' => '/:controller/:action',
'paths' => ['controller' => 1, 'action' => 2],
],
],
'view' => ['templatePath' => './view'],
'services' => [
'logger' => 'PhalconSkeleton\Application\Service\Logger',
'errorhandler' => 'PhalconSkeleton\Application\Service\ErrorHandler',
],
];
set_error_handler(function ($severity, $message, $file, $line) {
if (error_reporting() & $severity) {
throw new \ErrorException($message, $severity, 1, $file, $line);
}
});
set_exception_handler(function (\Throwable $e) use ($config) {
$config['logger']()->error($e->getMessage(), ['exception' => $e]);
exit(255);
});
return $config;