| 1 | <?php |
||
| 5 | class Timer implements ITimer { |
||
| 6 | const START = 'start'; |
||
| 7 | const STOP = 'stop'; |
||
| 8 | |||
| 9 | /** |
||
| 10 | * @var array |
||
| 11 | */ |
||
| 12 | protected $checkpoints = []; |
||
| 13 | |||
| 14 | /** |
||
| 15 | * Start timer. |
||
| 16 | */ |
||
| 17 | public function start() { |
||
| 20 | |||
| 21 | /** |
||
| 22 | * Stop timer. |
||
| 23 | */ |
||
| 24 | public function stop() { |
||
| 27 | |||
| 28 | /** |
||
| 29 | * @return float|null |
||
| 30 | */ |
||
| 31 | public function getStartTime() { |
||
| 34 | |||
| 35 | /** |
||
| 36 | * @return float|null |
||
| 37 | */ |
||
| 38 | public function getStopTime() { |
||
| 41 | |||
| 42 | /** |
||
| 43 | * @param string $from |
||
| 44 | * @param string $to |
||
| 45 | * |
||
| 46 | * @return float |
||
| 47 | */ |
||
| 48 | public function getDuration($from = Timer::START, $to = Timer::STOP) { |
||
| 62 | |||
| 63 | /** |
||
| 64 | * @param $name |
||
| 65 | * |
||
| 66 | * @return float|null |
||
| 67 | */ |
||
| 68 | public function getCheckpoint($name) { |
||
| 71 | |||
| 72 | /** |
||
| 73 | * @param $name |
||
| 74 | * |
||
| 75 | * @return float |
||
| 76 | */ |
||
| 77 | public function createCheckpoint($name) { |
||
| 83 | |||
| 84 | /** |
||
| 85 | * @return array |
||
| 86 | */ |
||
| 87 | public function getCheckpoints() { |
||
| 90 | } |
||
| 91 |