Esempio n. 1
0
 public function __construct($level = DEBUG, $dest = 'tiimber.log')
 {
     $this->dest = $det;
     $this->setBaseLevel($level);
     Memory::events()->on(LOG, function (string $level, string $message) {
         if ($this->isLoggable($level)) {
             $this->log($message);
         }
     });
 }
Esempio n. 2
0
 private function emitRequest($request, $response)
 {
     $render = new Renderer();
     $route = REQUEST . ES;
     try {
         $match = $this->resolve($this->routes, $request->getMethod(), $request->getPath());
         $route .= $match['_route'];
         $this->dispatcher->emit(REQUEST, strtolower($match['_route']), $render, ['request' => $request, 'args' => $match]);
     } catch (RouteNotFoundException $e) {
         $this->dispatcher->emit(ERROR, '404', $render, ['request' => $request, 'args' => []]);
         Memory::get(HTTP)->set(CODE, 404);
     } catch (\Exception $e) {
         $this->log(LOG_ERROR, $e->getMessage());
         $this->log(LOG_ERROR, $e->getTraceAsString());
         $this->dispatcher->emit(ERROR, '500', $render, ['request' => $request, 'args' => ['error' => $e]]);
         Memory::get(HTTP)->set(CODE, 500);
     }
     $layout = Memory::get(LAYOUT)->get('\\Blog\\Layouts\\DefaultLayout');
     Memory::events()->emit(END, ['content' => $render->render($this->resolveLayout($route))]);
 }
Esempio n. 3
0
 public function emit($event, $name, $render, $args)
 {
     Memory::events()->emit($event, ['event' => $name, 'renderer' => $render, 'parameters' => $args]);
 }