417ab908a39c67e5bd9a5a1cbc7a243dd7ec0321
[yaffs-website] / vendor / symfony / dependency-injection / LazyProxy / Instantiator / InstantiatorInterface.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\Instantiator;
13
14 use Symfony\Component\DependencyInjection\ContainerInterface;
15 use Symfony\Component\DependencyInjection\Definition;
16
17 /**
18  * Lazy proxy instantiator, capable of instantiating a proxy given a container, the
19  * service definitions and a callback that produces the real service instance.
20  *
21  * @author Marco Pivetta <ocramius@gmail.com>
22  */
23 interface InstantiatorInterface
24 {
25     /**
26      * Instantiates a proxy object.
27      *
28      * @param ContainerInterface $container        The container from which the service is being requested
29      * @param Definition         $definition       The definition of the requested service
30      * @param string             $id               Identifier of the requested service
31      * @param callable           $realInstantiator Zero-argument callback that is capable of producing the real service instance
32      *
33      * @return object
34      */
35     public function instantiateProxy(ContainerInterface $container, Definition $definition, $id, $realInstantiator);
36 }