\Horde_Injector_Binder_Factory

A binder object for binding an interface to a factory class and method.

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));
  }
  ...
}

Summary

Methods
Properties
Constants
__construct()
equals()
getFactory()
getMethod()
create()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$_factory
$_method
N/A

Properties

$_factory

$_factory : string

Type

string

$_method

$_method : string

Type

string

Methods

__construct()

__construct(string  $factory, string  $method) 

Create a new Horde_Injector_Binder_Factory instance.

Parameters

string $factory

The factory class to use for creating objects.

string $method

The method on that factory to use for creating objects.

equals()

equals(\Horde_Injector_Binder  $otherBinder) : boolean

Determine if one binder equals another binder

Parameters

\Horde_Injector_Binder $otherBinder

Returns

boolean —

Equality.

getFactory()

getFactory() : string

Get the factory classname that this binder was bound to.

Returns

string —

The factory classname this binder is bound to.

getMethod()

getMethod() : string

Get the method that this binder was bound to.

Returns

string —

The method this binder is bound to.

create()

create(\Horde_Injector  $injector) : \Horde_Injector

Create instance using a factory method

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.

Parameters

\Horde_Injector $injector

Injector object.

Returns

\Horde_Injector