Zend Framework  3.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
InstanceManager Class Reference

Registry of instantiated objects, their names and the parameters used to build them. More...

Public Member Functions

 hasSharedInstance ($classOrAlias)
 Does this instance manager have this shared instance.
 
 getSharedInstance ($classOrAlias)
 getSharedInstance()
 
 addSharedInstance ($instance, $classOrAlias)
 Add shared instance.
 
 hasSharedInstanceWithParameters ($classOrAlias, array $params, $returnFastHashLookupKey=false)
 hasSharedInstanceWithParameters()
 
 addSharedInstanceWithParameters ($instance, $classOrAlias, array $params)
 addSharedInstanceWithParameters()
 
 getSharedInstanceWithParameters ($classOrAlias, array $params, $fastHashFromHasLookup=null)
 Retrieves an instance by its name and the parameters stored at its instantiation.
 
 hasAlias ($alias)
 Check for an alias.
 
 getAliases ()
 Get aliases.
 
 getClassFromAlias ($alias)
 getClassFromAlias()
 
 addAlias ($alias, $class, array $parameters=[])
 Add alias.
 
 hasConfig ($aliasOrClass)
 Check for configuration.
 
 setConfig ($aliasOrClass, array $configuration, $append=false)
 Sets configuration for a single alias/class.
 
 getClasses ()
 Get classes.
 
 getConfig ($aliasOrClass)
 
 setParameters ($aliasOrClass, array $parameters)
 setParameters() is a convenience method for: setConfig($type, array('parameters' => array(...)), true);
 
 setInjections ($aliasOrClass, array $injections)
 setInjections() is a convenience method for: setConfig($type, array('injections' => array(...)), true);
 
 setShared ($aliasOrClass, $isShared)
 Set shared.
 
 hasTypePreferences ($interfaceOrAbstract)
 Check for type preferences.
 
 setTypePreference ($interfaceOrAbstract, array $preferredImplementations)
 Set type preference.
 
 getTypePreferences ($interfaceOrAbstract)
 Get type preferences.
 
 unsetTypePreferences ($interfaceOrAbstract)
 Unset type preferences.
 
 addTypePreference ($interfaceOrAbstract, $preferredImplementation)
 Adds a type preference.
 
 removeTypePreference ($interfaceOrAbstract, $preferredType)
 Removes a previously set type preference.
 

Protected Member Functions

 getBaseAlias ($alias)
 
 createHashForKeys ($classOrAlias, $paramKeys)
 
 createHashForValues ($classOrAlias, $paramValues)
 

Protected Attributes

 $sharedInstances = []
 
 $sharedInstancesWithParams = ['hashShort' => []
 
 $aliases = []
 
 $configurationTemplate
 
 $configurations = []
 
 $typePreferences = []
 

Detailed Description

Registry of instantiated objects, their names and the parameters used to build them.

Member Function Documentation

addAlias (   $alias,
  $class,
array  $parameters = [] 
)

Add alias.

Exceptions
Exception\InvalidArgumentException
Parameters
string$alias
string$class
array$parameters
Returns
void
addSharedInstance (   $instance,
  $classOrAlias 
)

Add shared instance.

Parameters
object$instance
string$classOrAlias
Exceptions
Exception\InvalidArgumentException
addSharedInstanceWithParameters (   $instance,
  $classOrAlias,
array  $params 
)

addSharedInstanceWithParameters()

Parameters
object$instance
string$classOrAlias
array$params
Returns
void
addTypePreference (   $interfaceOrAbstract,
  $preferredImplementation 
)

Adds a type preference.

A type preference is a redirection to a preferred alias or type when an abstract type $interfaceOrAbstract is requested

Parameters
string$interfaceOrAbstract
string$preferredImplementation
Returns
self
createHashForKeys (   $classOrAlias,
  $paramKeys 
)
protected
Parameters
string$classOrAlias
string[]$paramKeys
Returns
string
createHashForValues (   $classOrAlias,
  $paramValues 
)
protected
Parameters
string$classOrAlias
array$paramValues
Returns
string
getAliases ( )

Get aliases.

Returns
array
getBaseAlias (   $alias)
protected
Parameters
string$alias
Returns
string|bool
Exceptions
Exception\RuntimeException
getClasses ( )

Get classes.

Returns
array
getClassFromAlias (   $alias)

getClassFromAlias()

Parameters
string
Returns
string|bool
Exceptions
Exception\RuntimeException
getConfig (   $aliasOrClass)
Parameters
string$aliasOrClass
Returns
array
getSharedInstance (   $classOrAlias)
getSharedInstanceWithParameters (   $classOrAlias,
array  $params,
  $fastHashFromHasLookup = null 
)

Retrieves an instance by its name and the parameters stored at its instantiation.

Parameters
string$classOrAlias
array$params
bool | null$fastHashFromHasLookup
Returns
object|bool false if no instance was found
getTypePreferences (   $interfaceOrAbstract)

Get type preferences.

Parameters
string$interfaceOrAbstract
Returns
array
hasAlias (   $alias)

Check for an alias.

Parameters
string$alias
Returns
bool
hasConfig (   $aliasOrClass)

Check for configuration.

Parameters
string$aliasOrClass
Returns
bool
hasSharedInstance (   $classOrAlias)

Does this instance manager have this shared instance.

Parameters
string$classOrAlias
Returns
bool
hasSharedInstanceWithParameters (   $classOrAlias,
array  $params,
  $returnFastHashLookupKey = false 
)

hasSharedInstanceWithParameters()

Parameters
string$classOrAlias
array$params
bool$returnFastHashLookupKey
Returns
bool|string
hasTypePreferences (   $interfaceOrAbstract)

Check for type preferences.

Parameters
string$interfaceOrAbstract
Returns
bool
removeTypePreference (   $interfaceOrAbstract,
  $preferredType 
)

Removes a previously set type preference.

Parameters
string$interfaceOrAbstract
string$preferredType
Returns
bool|self
setConfig (   $aliasOrClass,
array  $configuration,
  $append = false 
)

Sets configuration for a single alias/class.

Parameters
string$aliasOrClass
array$configuration
bool$append
setInjections (   $aliasOrClass,
array  $injections 
)

setInjections() is a convenience method for: setConfig($type, array('injections' => array(...)), true);

Parameters
string$aliasOrClassAlias or Class
array$injectionsMulti-dim array of methods and their parameters
Returns
void
setParameters (   $aliasOrClass,
array  $parameters 
)

setParameters() is a convenience method for: setConfig($type, array('parameters' => array(...)), true);

Parameters
string$aliasOrClassAlias or Class
array$parametersMulti-dim array of parameters and their values
Returns
void
setShared (   $aliasOrClass,
  $isShared 
)

Set shared.

Parameters
string$aliasOrClass
bool$isShared
Returns
void
setTypePreference (   $interfaceOrAbstract,
array  $preferredImplementations 
)

Set type preference.

Parameters
string$interfaceOrAbstract
array$preferredImplementations
Returns
InstanceManager
unsetTypePreferences (   $interfaceOrAbstract)

Unset type preferences.

Parameters
string$interfaceOrAbstract
Returns
void

Member Data Documentation

$aliases = []
protected
$configurations = []
protected
$configurationTemplate
protected
Initial value:
= [
'parameters' => []
$sharedInstances = []
protected
$sharedInstancesWithParams = ['hashShort' => []
protected
$typePreferences = []
protected