| 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 |