c50c6a7f0d66f559a2484c2ec816ed53bd4859aa
[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\AliasDefinition;
13 use DI\Definition\Definition;
14
15 /**
16 * Dumps alias definitions.
17 *
18 * @since 4.1
19 * @author Matthieu Napoli <matthieu@mnapoli.fr>
20 */
21 class AliasDefinitionDumper implements DefinitionDumper
22 {
23 /**
24 * {@inheritdoc}
25 */
26 public function dump(Definition $definition)
27 {
28 if (! $definition instanceof AliasDefinition) {
29 throw new \InvalidArgumentException(sprintf(
30 'This definition dumper is only compatible with AliasDefinition objects, %s given',
31 get_class($definition)
32 ));
33 }
34
35 if ($definition->getName()) {
36 return sprintf(
37 "get(%s => %s)",
38 $definition->getName(),
39 $definition->getTargetEntryName()
40 );
41 }
42
43 return sprintf(
44 "get(%s)",
45 $definition->getTargetEntryName()
46 );
47 }
48 }