1 | <?php |
||
17 | class Pipolino |
||
18 | { |
||
19 | /** |
||
20 | * @var array |
||
21 | */ |
||
22 | private $stages; |
||
23 | |||
24 | /** |
||
25 | * @var callable |
||
26 | */ |
||
27 | private $defaultStage; |
||
28 | |||
29 | /** |
||
30 | * @param array $stages |
||
31 | * @param callable $defaultStage |
||
32 | */ |
||
33 | 6 | public function __construct(array $stages = [], callable $defaultStage = null) |
|
39 | |||
40 | /** |
||
41 | * @param callable $next |
||
42 | * @param array ...$args |
||
43 | * |
||
44 | * @return mixed |
||
45 | */ |
||
46 | 1 | public function __invoke(callable $next, ...$args) |
|
50 | |||
51 | /** |
||
52 | * @param array ...$args |
||
53 | * |
||
54 | * @return mixed |
||
55 | */ |
||
56 | 6 | public function process(...$args) |
|
71 | |||
72 | /** |
||
73 | * @param callable $stage |
||
74 | * |
||
75 | * @return Pipolino |
||
76 | */ |
||
77 | 5 | public function addStage(callable $stage) |
|
84 | |||
85 | /** |
||
86 | * @param callable $stage |
||
87 | * |
||
88 | * @return Pipolino |
||
89 | */ |
||
90 | 1 | public function withDefaultStage(callable $stage) |
|
94 | } |