1 | <?php |
||
14 | abstract class AbstractRoutine implements Routinable |
||
15 | { |
||
16 | protected $callback; |
||
17 | |||
18 | 25 | public function __construct($callback) |
|
19 | { |
||
20 | 25 | if (is_string($callback) && class_exists($callback) && method_exists($callback, '__invoke')) { |
|
21 | 1 | return $this->callback = $callback; |
|
|
|||
22 | } |
||
23 | |||
24 | 24 | if (!is_callable($callback)) { |
|
25 | 2 | throw new InvalidArgumentException('Routine callback must be... guess what... callable!'); |
|
26 | } |
||
27 | |||
28 | 22 | $this->callback = $callback; |
|
29 | 22 | } |
|
30 | |||
31 | 13 | protected function getCallback() |
|
35 | } |
||
36 |