PHP Class Horde_Injector_Binder_Factory, horde
An interface may be bound to a factory class. That factory class must
provide a method or methods that accept a Horde_Injector, and return an
object that satisfies the instance requirement. For example:
class MyFactory {
...
public function create(Horde_Injector $injector)
{
return new MyClass($injector->getInstance('Collaborator'), new MyOtherClass(17));
}
...
}
Mostrar archivo
Open project: horde/horde
Class Usage Examples
Public Methods
Method |
Description |
|
__construct ( string $factory, string $method ) |
Create a new Horde_Injector_Binder_Factory instance. |
|
create ( Horde_Injector $injector ) : Horde_Injector |
Create instance using a factory method |
|
equals ( Horde_Injector_Binder $otherBinder ) : boolean |
|
|
getFactory ( ) : string |
Get the factory classname that this binder was bound to. |
|
getMethod ( ) : string |
Get the method that this binder was bound to. |
|
Method Details
__construct()
public method
Create a new Horde_Injector_Binder_Factory instance.
public __construct ( string $factory, string $method ) |
$factory |
string |
The factory class to use for creating objects. |
$method |
string |
The method on that factory to use for creating
objects. |
If the factory depends on a Horde_Injector we want to limit its scope
so it cannot change anything that effects any higher-level scope. A
factory should not have the responsibility of making a higher-level
scope change.
To enforce this we create a new child Horde_Injector. When a
Horde_Injector is requested from a Horde_Injector it will return
itself. This means that the factory will only ever be able to work on
the child Horde_Injector we give it now.
public create ( Horde_Injector $injector ) : Horde_Injector |
$injector |
Horde_Injector |
Injector object. |
return |
Horde_Injector |
|
public equals ( Horde_Injector_Binder $otherBinder ) : boolean |
$otherBinder |
Horde_Injector_Binder |
|
return |
boolean |
Equality. |
getFactory()
public method
Get the factory classname that this binder was bound to.
getMethod()
public method
Get the method that this binder was bound to.