コード例 #1
0
ファイル: Debugger.php プロジェクト: servicerunner/li3_debug
 public static function initMedia()
 {
     // Response -> Handler
     Media::applyFilter('render', function ($self, $params, $chain) {
         if (isset($params['data']['info']['exception']) && $params['data']['info']['exception'] instanceof \Exception) {
             Debugger::setException($params['data']['info']['exception']);
         }
         $data = array();
         $data['start'] = microtime(true);
         $data['memory'] = memory_get_usage(true);
         $data['name'] = 'Media::render';
         $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']);
         if ($response instanceof \lithium\action\Response) {
             Debugger::setResponse($response);
         }
         return $response;
     });
     // Handler -> string
     Media::applyFilter('_handle', function ($self, $params, $chain) {
         if ($params['handler']['type'] === 'html') {
             Debugger::setView($self, $params['handler'], $params['response']);
         }
         $data = array();
         $data['start'] = microtime(true);
         $data['memory'] = memory_get_usage(true);
         $data['name'] = 'Media::_handle';
         $result = $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 $result;
     });
 }