1: <?php
2: /**
3: * Binder interface definition.
4: *
5: * PHP version 5
6: *
7: * @category Horde
8: * @package Injector
9: * @author Bob Mckee <bmckee@bywires.com>
10: * @author James Pepin <james@jamespepin.com>
11: * @license http://www.horde.org/licenses/bsd BSD
12: * @link http://pear.horde.org/index.php?package=Injector
13: */
14:
15: /**
16: * Describes a binding class that is able to create concrete object instances.
17: *
18: * @category Horde
19: * @package Injector
20: * @author Bob Mckee <bmckee@bywires.com>
21: * @author James Pepin <james@jamespepin.com>
22: * @license http://www.horde.org/licenses/bsd BSD
23: * @link http://pear.horde.org/index.php?package=Injector
24: */
25: interface Horde_Injector_Binder
26: {
27: /**
28: * Create an instance.
29: *
30: * @param Horde_Injector $injector The injector should provide all
31: * required dependencies for creating the
32: * instance.
33: *
34: * @return mixed The concrete instance.
35: */
36: public function create(Horde_Injector $injector);
37:
38: /**
39: * Determine if one binder equals another binder
40: *
41: * @param Horde_Injector_Binder $binder The binder to compare against
42: * $this.
43: *
44: * @return boolean True if equal, false if not equal.
45: */
46: public function equals(Horde_Injector_Binder $binder);
47:
48: }
49: