friendship ended with social-app. php is my new best friend
1<?php 2 3namespace React\EventLoop\Timer; 4 5use React\EventLoop\TimerInterface; 6 7/** 8 * The actual connection implementation for TimerInterface 9 * 10 * This class should only be used internally, see TimerInterface instead. 11 * 12 * @see TimerInterface 13 * @internal 14 */ 15final class Timer implements TimerInterface 16{ 17 const MIN_INTERVAL = 0.000001; 18 19 private $interval; 20 private $callback; 21 private $periodic; 22 23 /** 24 * Constructor initializes the fields of the Timer 25 * 26 * @param float $interval The interval after which this timer will execute, in seconds 27 * @param callable $callback The callback that will be executed when this timer elapses 28 * @param bool $periodic Whether the time is periodic 29 */ 30 public function __construct($interval, $callback, $periodic = false) 31 { 32 if ($interval < self::MIN_INTERVAL) { 33 $interval = self::MIN_INTERVAL; 34 } 35 36 $this->interval = (float) $interval; 37 $this->callback = $callback; 38 $this->periodic = (bool) $periodic; 39 } 40 41 public function getInterval() 42 { 43 return $this->interval; 44 } 45 46 public function getCallback() 47 { 48 return $this->callback; 49 } 50 51 public function isPeriodic() 52 { 53 return $this->periodic; 54 } 55}