$_bindings
$_bindings : array
Injector class for injecting dependencies of objects
This class is responsible for injecting dependencies of objects. It is inspired by the bucket_Container's concept of child scopes, but written to support many different types of bindings as well as allowing for setter injection bindings.
$_parentInjector : \Horde_Injector_Scope
__construct(\Horde_Injector_Scope $injector)
Create a new Injector object.
Every injector object has a parent scope. For the very first Horde_Injector, you should pass it a Horde_Injector_TopLevel object.
\Horde_Injector_Scope | $injector | The parent scope. |
createChildInjector() : \Horde_Injector
Create a child injector that inherits this injector's scope.
All child injectors inherit the parent scope. Any objects that were created using getInstance, will be available to the child container. The child container can set bindings to override the parent, and none of those bindings will leak to the parent.
A child injector with $this as its parent.
__call( $name, $args) : \Horde_Injector_Binder
Method overloader. Handles $this->bind[BinderType] type calls.
$name | ||
$args |
See _bind().
addBinder(string $interface, \Horde_Injector_Binder $binder) : \Horde_Injector
Add a Horde_Injector_Binder to an interface
This is the method by which we bind an interface to a concrete implentation or factory. For convenience, binders may be added by $this->bind[BinderType].
bindFactory - Creates a Horde_Injector_Binder_Factory bindImplementation - Creates a Horde_Injector_Binder_Implementation
All subsequent arguments are passed to the constructor of the Horde_Injector_Binder object.
string | $interface | The interface to bind to. |
\Horde_Injector_Binder | $binder | The binder to be bound to the specified $interface. |
A reference to itself for method chaining.
getBinder(string $interface) : \Horde_Injector_Binder
Get the Binder associated with the specified instance.
Binders are objects responsible for binding a particular interface with a class. If no binding is set for this object, the parent scope is consulted.
string | $interface | The interface to retrieve binding information for. |
The binding set for the specified interface.
setInstance(string $interface, mixed $instance) : \Horde_Injector
Set the object instance to be retrieved by getInstance the next time the specified interface is requested.
This method allows you to set the cached object instance so that all subsequent getInstance() calls return the object you have specified.
string | $interface | The interface to bind the instance to. |
mixed | $instance | The object instance to be bound to the specified instance. |
A reference to itself for method chaining.
createInstance(string $interface) : mixed
Create a new instance of the specified object/interface.
This method creates a new instance of the specified object/interface. NOTE: it does not save that instance for later retrieval. If your object should be re-used elsewhere, you should be using getInstance().
string | $interface | The interface name, or object class to be created. |
A new object that implements $interface.
getInstance(string $interface) : mixed
Retrieve an instance of the specified object/interface.
This method gets you an instance, and saves a reference to that instance for later requests.
Interfaces must be bound to a concrete class to be created this way. Concrete instances may be created through reflection.
It does not gaurantee that it is a new instance of the object. For a new instance see createInstance().
string | $interface | The interface name, or object class to be created. |
An object that implements $interface, but not necessarily a new one.
_bind(string $type, array $args) : \Horde_Injector_Binder
Method that creates binders to send to addBinder(). This is called by the magic method __call() whenever a function is called that starts with bind.
string | $type | The type of Horde_InjectorBinder to be created. Matches /^Horde_InjectorBinder(\w+)$/. |
array | $args | The constructor arguments for the binder object. |
The binder object created. Useful for method chaining.
_addBinder( $interface, \Horde_Injector_Binder $binder)
$interface | ||
\Horde_Injector_Binder | $binder |
_getBinder(string $interface) : \Horde_Injector_Binder
Get the Binder associated with the specified instance.
string | $interface | The interface to retrieve binding information for. |
The binder object created. Useful for method chaining.