9aaa55fceac1f83165c0047f95c61c78a674a323
[GitHub/WoltLab/WCF.git] /
1 <?php
2 /**
3 * PHP-DI
4 *
5 * @link http://php-di.org/
6 * @copyright Matthieu Napoli (http://mnapoli.fr/)
7 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
8 */
9
10 namespace DI\Definition\Dumper;
11
12 use DI\Definition\DecoratorDefinition;
13 use DI\Definition\Definition;
14
15 /**
16 * Dumps decorator definitions.
17 *
18 * @since 5.0
19 * @author Matthieu Napoli <matthieu@mnapoli.fr>
20 */
21 class DecoratorDefinitionDumper implements DefinitionDumper
22 {
23 /**
24 * {@inheritdoc}
25 */
26 public function dump(Definition $definition)
27 {
28 if (! $definition instanceof DecoratorDefinition) {
29 throw new \InvalidArgumentException(sprintf(
30 'This definition dumper is only compatible with DecoratorDefinition objects, %s given',
31 get_class($definition)
32 ));
33 }
34
35 return 'Decorate(' . $definition->getSubDefinitionName() . ')';
36 }
37 }