1: <?php
2: /**
3: * Interface for injector scopes
4: *
5: * Injectors implement a Chain of Responsibility pattern. This is the
6: * required interface for injectors to pass on responsibility to parent
7: * objects in the chain.
8: *
9: * @category Horde
10: * @package Injector
11: */
12: interface Horde_Injector_Scope
13: {
14: /**
15: * Returns the Horde_Injector_Binder object mapped to the request
16: * interface if such a
17: * mapping exists
18: *
19: * @param string $interface Interface name of object whose binding if
20: * being retrieved.
21: *
22: * @return Horde_Injector_Binder|null
23: */
24: public function getBinder($interface);
25:
26: /**
27: * Returns instance of requested object if proper configuration has been
28: * provided.
29: *
30: * @param string $interface Interface name of object which is being
31: * requested.
32: *
33: * @return Object
34: */
35: public function getInstance($interface);
36:
37: }
38: