private function viewProfilerRegister()
    {
        $this->em->attach(
          Events::VIEW,
          function (Event $event, $src, $data) {
              $eventType = $event->getType();
              if ($eventType === 'beforeRender') {
                  self::$viewProfiles['render'][] = self::$viewProfiles['__render'][] = [
                    'initialTime' => microtime(true)
                  ];
              } elseif ($eventType === 'beforeRenderView') {
                  self::$viewProfiles['__renderViews'][] = self::$viewProfiles['renderViews'][] = [
                    'file' => $data,
                    'initialTime' => microtime(true)
                  ];
              } elseif ($eventType === 'afterRenderView') {
                  $profile = array_pop(self::$viewProfiles['__renderViews']);
                  $profile['finalTime'] = microtime(true);
                  $profile['elapsedTime'] = $profile['finalTime'] - $profile['initialTime'];

                  self::$viewProfiles['renderViews'][count(self::$viewProfiles['__renderViews'])] = $profile;
              } elseif ($eventType === 'notFoundView') {
                  self::$viewProfiles['notFoundView'][] = $data;
              } elseif ($eventType === 'afterRender') {
                  $profile = array_pop(self::$viewProfiles['__render']);
                  $profile['finalTime'] = microtime(true);
                  $profile['elapsedTime'] = $profile['finalTime'] - $profile['initialTime'];

                  self::$viewProfiles['render'][count(self::$viewProfiles['__render'])] = $profile;
              }
          }
        );
    }
private function viewProfilerRegister()
    {
        $this->em->attach(
          Events::VIEW,
          function (Event $event, $src, $data) {
              $eventType = $event->getType();
              if ($eventType === 'beforeRender') {
                  self::$viewProfiles['render'][] = self::$viewProfiles['__render'][] = [
                    'initialTime' => microtime(true)
                  ];
              } elseif ($eventType === 'beforeRenderView') {
                  self::$viewProfiles['__renderViews'][] = self::$viewProfiles['renderViews'][] = [
                    'file' => $data,
                    'initialTime' => microtime(true)
                  ];
              } elseif ($eventType === 'afterRenderView') {
                  $profile = array_pop(self::$viewProfiles['__renderViews']);
                  $profile['finalTime'] = microtime(true);
                  $profile['elapsedTime'] = $profile['finalTime'] - $profile['initialTime'];

                  self::$viewProfiles['renderViews'][count(self::$viewProfiles['__renderViews'])] = $profile;
              } elseif ($eventType === 'notFoundView') {
                  self::$viewProfiles['notFoundView'][] = $data;
              } elseif ($eventType === 'afterRender') {
                  $profile = array_pop(self::$viewProfiles['__render']);
                  $profile['finalTime'] = microtime(true);
                  $profile['elapsedTime'] = $profile['finalTime'] - $profile['initialTime'];

                  self::$viewProfiles['render'][count(self::$viewProfiles['__render'])] = $profile;
              }
          }
        );
    }
private function viewProfilerRegister ( ) { $ this -> em -> attach ( Events :: VIEW , function ( Event $ event , $ src , $ data ) { $ eventType = $ event -> getType ( ) ; if ( $ eventType === 'beforeRender' ) { self :: $ viewProfiles [ 'render' ] [ ] = self :: $ viewProfiles [ '__render' ] [ ] = [ 'initialTime' => microtime ( true ) ] ; } elseif ( $ eventType === 'beforeRenderView' ) { self :: $ viewProfiles [ '__renderViews' ] [ ] = self :: $ viewProfiles [ 'renderViews' ] [ ] = [ 'file' => $ data , 'initialTime' => microtime ( true ) ] ; } elseif ( $ eventType === 'afterRenderView' ) { $ profile = array_pop ( self :: $ viewProfiles [ '__renderViews' ] ) ; $ profile [ 'finalTime' ] = microtime ( true ) ; $ profile [ 'elapsedTime' ] = $ profile [ 'finalTime' ] - $ profile [ 'initialTime' ] ; self :: $ viewProfiles [ 'renderViews' ] [ count ( self :: $ viewProfiles [ '__renderViews' ] ) ] = $ profile ; } elseif ( $ eventType === 'notFoundView' ) { self :: $ viewProfiles [ 'notFoundView' ] [ ] = $ data ; } elseif ( $ eventType === 'afterRender' ) { $ profile = array_pop ( self :: $ viewProfiles [ '__render' ] ) ; $ profile [ 'finalTime' ] = microtime ( true ) ; $ profile [ 'elapsedTime' ] = $ profile [ 'finalTime' ] - $ profile [ 'initialTime' ] ; self :: $ viewProfiles [ 'render' ] [ count ( self :: $ viewProfiles [ '__render' ] ) ] = $ profile ; } } ) ; }
Register view profiler
Register view profiler