This is a factory for classes which are identified by name.

All classes that this factory can supply need to be registered before (prototypes). This prototypes need to implement an interface which ensures every prototype has a name.

If the factory can not supply the class someone is asking for it tries to fallback on a generic default prototype, which would have need to be set before.

 Methods

__construct()

__construct(\Zend\Code\Generic\Prototype\PrototypeInterface[] $prototypes, \Zend\Code\Generic\Prototype\PrototypeGenericInterface $genericPrototype) 

addPrototype()

addPrototype(\Zend\Code\Generic\Prototype\PrototypeInterface $prototype) 

getClonedPrototype()

getClonedPrototype(string $prototypeName) : \Zend\Code\Generic\Prototype\PrototypeInterface

hasPrototype()

hasPrototype(string $name) : bool

Parameters

$name

string

Returns

bool

setGenericPrototype()

setGenericPrototype(\Zend\Code\Generic\Prototype\PrototypeGenericInterface $prototype) 

normalizeName()

normalizeName(string $name) : string

Parameters

$name

string

Returns

string

 Properties

 

$genericPrototype

$genericPrototype : \Zend\Code\Generic\Prototype\PrototypeGenericInterface

 

$prototypes

$prototypes : array