1: <?php
2: /**
3: * This file is part of the Autarky package.
4: *
5: * (c) Andreas Lutro <anlutro@gmail.com>
6: *
7: * For the full copyright and license information, please view the LICENSE
8: * file that was distributed with this source code.
9: */
10:
11: namespace Autarky\Container\Factory;
12:
13: use Autarky\Container\ContainerInterface;
14:
15: /**
16: * Factory interface.
17: */
18: interface FactoryInterface
19: {
20: /**
21: * Get a new factory.
22: *
23: * @param array $params
24: *
25: * @return FactoryInterface
26: */
27: public function getFactory(array $params = array());
28:
29: /**
30: * Invoke the factory.
31: *
32: * @param ContainerInterface $container
33: * @param array $params
34: *
35: * @return mixed
36: */
37: public function invoke(ContainerInterface $container, array $params = array());
38: }
39: