Beispiel #1
0
 public static function initDispatcher()
 {
     // Request -> Response
     Filters::apply('lithium\\action\\Dispatcher', 'run', function ($self, $params, $chain) {
         $data = array();
         $data['start'] = microtime(true);
         $data['memory'] = memory_get_usage(true);
         $data['name'] = 'Dispatcher::run';
         $response = $chain->next($self, $params, $chain);
         $data['end'] = microtime(true);
         $data['memory'] = memory_get_usage(true) - $data['memory'];
         $data['time'] = $data['end'] - $data['start'];
         Debugger::push('events', $data);
         Debugger::inc('events.time', $data['time']);
         return $response;
     });
     // Router -> Controller
     Filters::apply('lithium\\action\\Dispatcher', '_callable', function ($self, $params, $chain) {
         $data = array();
         $data['start'] = microtime(true);
         $data['memory'] = memory_get_usage(true);
         $data['name'] = 'Dispatcher::_callable';
         $controller = $chain->next($self, $params, $chain);
         $data['end'] = microtime(true);
         $data['memory'] = memory_get_usage(true) - $data['memory'];
         $data['time'] = $data['end'] - $data['start'];
         Debugger::push('events', $data);
         Debugger::inc('events.time', $data['time']);
         if ($controller instanceof \lithium\action\Controller) {
             Debugger::setRequest($params['request']);
             Debugger::bindTo($controller);
         }
         return $controller;
     });
 }