878d965b1c39de6216cfe3fa970d98cafa54655d
[yaffs-website] / vendor / symfony / dependency-injection / LazyProxy / PhpDumper / DumperInterface.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\DependencyInjection\LazyProxy\PhpDumper;
13
14 use Symfony\Component\DependencyInjection\Definition;
15
16 /**
17  * Lazy proxy dumper capable of generating the instantiation logic PHP code for proxied services.
18  *
19  * @author Marco Pivetta <ocramius@gmail.com>
20  */
21 interface DumperInterface
22 {
23     /**
24      * Inspects whether the given definitions should produce proxy instantiation logic in the dumped container.
25      *
26      * @param Definition $definition
27      *
28      * @return bool
29      */
30     public function isProxyCandidate(Definition $definition);
31
32     /**
33      * Generates the code to be used to instantiate a proxy in the dumped factory code.
34      *
35      * @param Definition $definition
36      * @param string     $id         service identifier
37      *
38      * @return string
39      */
40     public function getProxyFactoryCode(Definition $definition, $id);
41
42     /**
43      * Generates the code for the lazy proxy.
44      *
45      * @param Definition $definition
46      *
47      * @return string
48      */
49     public function getProxyCode(Definition $definition);
50 }