Completed
Push — unit-test-view-helpers ( 05e77a...3ce587 )
by Romain
02:05
created

TimeTrackerService::getLogs()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
/*
3
 * 2017 Romain CANON <[email protected]>
4
 *
5
 * This file is part of the TYPO3 Formz project.
6
 * It is free software; you can redistribute it and/or modify it
7
 * under the terms of the GNU General Public License, either
8
 * version 3 of the License, or any later version.
9
 *
10
 * For the full copyright and license information, see:
11
 * http://www.gnu.org/licenses/gpl-3.0.html
12
 */
13
14
namespace Romm\Formz\Service;
15
16
use TYPO3\CMS\Core\TimeTracker\TimeTracker as TYPO3TimeTracker;
17
use TYPO3\CMS\Core\Utility\GeneralUtility;
18
19
/**
20
 * Little utility to track the time used by certain functionality.
21
 */
22
class TimeTrackerService extends TYPO3TimeTracker
23
{
24
25
    /**
26
     * @var array
27
     */
28
    protected $logs = [];
29
30
    /**
31
     * @return TimeTrackerService
32
     */
33
    public static function getAndStart()
34
    {
35
        /** @var TimeTrackerService $timeTracker */
36
        $timeTracker = GeneralUtility::makeInstance(self::class);
37
        $timeTracker->start();
38
39
        return $timeTracker;
40
    }
41
42
    /**
43
     * @param string $label
44
     */
45
    public function logTime($label)
46
    {
47
        $this->logs[$label] = $this->getDifferenceToStarttime();
48
    }
49
50
    /**
51
     * @return array
52
     */
53
    public function getLogs()
54
    {
55
        return $this->logs;
56
    }
57
58
    /**
59
     * @return string
60
     */
61
    public function getHTMLCommentLogs()
62
    {
63
        $logs = [];
64
        foreach ($this->getLogs() as $label => $value) {
65
            $logs[] = "$label: $value";
66
        }
67
68
        return '<!-- parse [' . implode('][', $logs) . '] -->';
69
    }
70
}
71