1 | <?php |
||
22 | abstract class AbstractDecorator |
||
23 | { |
||
24 | |||
25 | /** |
||
26 | * Decorators |
||
27 | * @var DecoratorInterface[] |
||
28 | */ |
||
29 | private $decorators = []; |
||
30 | |||
31 | /** |
||
32 | * Apply decorators configuration. |
||
33 | * Schema is described in Zamm class |
||
34 | * @param string[][] $decoratorsConfig |
||
35 | */ |
||
36 | protected function apply($decoratorsConfig) |
||
50 | |||
51 | /** |
||
52 | * Add decorator. This will perform uniqueness check. |
||
53 | * @param string $className |
||
54 | * @return boolean true if added |
||
55 | */ |
||
56 | public function addDecorator($className) |
||
68 | |||
69 | abstract protected function init(DecoratorInterface $decorator); |
||
70 | |||
71 | /** |
||
72 | * Decorated entity |
||
73 | * @return object |
||
74 | */ |
||
75 | abstract protected function decorated(); |
||
76 | |||
77 | /** |
||
78 | * Decorate doc comment |
||
79 | * @param string $docComment |
||
80 | */ |
||
81 | public function decorate(&$docComment) |
||
88 | |||
89 | } |
||
90 |