Verzeichnisstruktur phpBB-3.1.0
- Veröffentlicht
- 27.10.2014
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
TimeDataCollector.php
001 <?php
002
003 /*
004 * This file is part of the Symfony package.
005 *
006 * (c) Fabien Potencier <fabien@symfony.com>
007 *
008 * For the full copyright and license information, please view the LICENSE
009 * file that was distributed with this source code.
010 */
011
012 namespace Symfony\Component\HttpKernel\DataCollector;
013
014 use Symfony\Component\HttpKernel\KernelInterface;
015 use Symfony\Component\HttpFoundation\Request;
016 use Symfony\Component\HttpFoundation\Response;
017
018 /**
019 * TimeDataCollector.
020 *
021 * @author Fabien Potencier <fabien@symfony.com>
022 */
023 class TimeDataCollector extends DataCollector
024 {
025 protected $kernel;
026
027 public function __construct(KernelInterface $kernel = null)
028 {
029 $this->kernel = $kernel;
030 }
031
032 /**
033 * {@inheritdoc}
034 */
035 public function collect(Request $request, Response $response, \Exception $exception = null)
036 {
037 if (null !== $this->kernel) {
038 $startTime = $this->kernel->getStartTime();
039 } else {
040 $startTime = $request->server->get('REQUEST_TIME_FLOAT', $request->server->get('REQUEST_TIME'));
041 }
042
043 $this->data = array(
044 'start_time' => $startTime * 1000,
045 'events' => array(),
046 );
047 }
048
049 /**
050 * Sets the request events.
051 *
052 * @param array $events The request events
053 */
054 public function setEvents(array $events)
055 {
056 foreach ($events as $event) {
057 $event->ensureStopped();
058 }
059
060 $this->data['events'] = $events;
061 }
062
063 /**
064 * Gets the request events.
065 *
066 * @return array The request events
067 */
068 public function getEvents()
069 {
070 return $this->data['events'];
071 }
072
073 /**
074 * Gets the request elapsed time.
075 *
076 * @return float The elapsed time
077 */
078 public function getDuration()
079 {
080 if (!isset($this->data['events']['__section__'])) {
081 return 0;
082 }
083
084 $lastEvent = $this->data['events']['__section__'];
085
086 return $lastEvent->getOrigin() + $lastEvent->getDuration() - $this->getStartTime();
087 }
088
089 /**
090 * Gets the initialization time.
091 *
092 * This is the time spent until the beginning of the request handling.
093 *
094 * @return float The elapsed time
095 */
096 public function getInitTime()
097 {
098 if (!isset($this->data['events']['__section__'])) {
099 return 0;
100 }
101
102 return $this->data['events']['__section__']->getOrigin() - $this->getStartTime();
103 }
104
105 /**
106 * Gets the request time.
107 *
108 * @return int The time
109 */
110 public function getStartTime()
111 {
112 return $this->data['start_time'];
113 }
114
115 /**
116 * {@inheritdoc}
117 */
118 public function getName()
119 {
120 return 'time';
121 }
122 }
123