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

Plugin manager implementation for controllers. More...

Public Member Functions

 get ($name, array $options=null)
 Retrieve a registered instance.
 
 setController (DispatchableInterface $controller)
 Set controller.
 
 getController ()
 Retrieve controller instance.
 
 injectController ($plugin)
 Inject a helper instance with the registered controller.
 
 validate ($plugin)
 Validate a plugin (v3)
 
 validatePlugin ($plugin)
 Validate a plugin (v2)
 
- Public Member Functions inherited from AbstractPluginManager
 __construct ($configInstanceOrParentLocator=null, array $config=[])
 Constructor.
 
 configure (array $config)
 Override configure() to validate service instances.
 
 get ($name, array $options=null)
 
 
 validate ($instance)
 Validate an instance.
Parameters
object$instance
Returns
void
Exceptions
InvalidServiceExceptionIf created instance does not respect the constraint on type imposed by the plugin manager
ContainerExceptionif any other error occurs

 
 setServiceLocator (ContainerInterface $container)
 Implemented for backwards compatibility only.
 
- Public Member Functions inherited from ServiceManager
 __construct (array $config=[])
 Constructor.
 
 getServiceLocator ()
 Implemented for backwards compatibility with previous plugin managers only.
 
 get ($name)
 
 
 build ($name, array $options=null)
 Build a service by its name, using optional options (such services are NEVER cached).
Parameters
string$name
null | array$options
Returns
mixed
Exceptions
Exception\ServiceNotFoundExceptionIf no factory/abstract factory could be found to create the instance.
Exception\ServiceNotCreatedExceptionIf factory/delegator fails to create the instance.
ContainerExceptionif any other error occurs

 
 has ($name)
 
 
 setAllowOverride ($flag)
 Indicate whether or not the instance is immutable.
 
 getAllowOverride ()
 Retrieve the flag indicating immutability status.
 
 configure (array $config)
 Configure the service manager.
 
 setAlias ($alias, $target)
 Add an alias.
 
 setInvokableClass ($name, $class=null)
 Add an invokable class mapping.
 
 setFactory ($name, $factory)
 Specify a factory for a given service name.
 
 mapLazyService ($name, $class=null)
 Create a lazy service mapping to a class.
 
 addAbstractFactory ($factory)
 Add an abstract factory for resolving services.
 
 addDelegator ($name, $factory)
 Add a delegator for a given service.
 
 addInitializer ($initializer)
 Add an initializer.
 
 setService ($name, $service)
 Map a service.
 
 setShared ($name, $flag)
 Add a service sharing rule.
 

Protected Attributes

 $instanceOf = Plugin\PluginInterface::class
 
 $aliases
 
 $factories
 
 $controller
 
- Protected Attributes inherited from AbstractPluginManager
 $autoAddInvokableClass = true
 
 $instanceOf = null
 
- Protected Attributes inherited from ServiceManager
 $abstractFactories = []
 
 $aliases = []
 
 $allowOverride = false
 Whether or not changes may be made to this instance.
 
 $creationContext
 
 $delegators = []
 
 $factories = []
 
 $initializers = []
 
 $lazyServices = []
 
 $services = []
 
 $shared = []
 
 $sharedByDefault = true
 
 $configured = false
 

Detailed Description

Plugin manager implementation for controllers.

Registers a number of default plugins, and contains an initializer for injecting plugins with the current controller.

Member Function Documentation

get (   $name,
array  $options = null 
)

Retrieve a registered instance.

After the plugin is retrieved from the service locator, inject the controller in the plugin every time it is requested. This is required because a controller can use a plugin and another controller can be dispatched afterwards. If this second controller uses the same plugin as the first controller, the reference to the controller inside the plugin is lost.

Parameters
string$name
Returns
DispatchableInterface
getController ( )

Retrieve controller instance.

Returns
null|DispatchableInterface
injectController (   $plugin)

Inject a helper instance with the registered controller.

Parameters
object$plugin
Returns
void
setController ( DispatchableInterface  $controller)

Set controller.

Parameters
DispatchableInterface$controller
Returns
PluginManager
validate (   $plugin)

Validate a plugin (v3)

Validate an instance.

Parameters
object$instance
Returns
void
Exceptions
InvalidServiceExceptionIf created instance does not respect the constraint on type imposed by the plugin manager
ContainerExceptionif any other error occurs

Implements PluginManagerInterface.

validatePlugin (   $plugin)

Validate a plugin (v2)

Exceptions
Exception\InvalidPluginException

Member Data Documentation

$aliases
protected
Initial value:
= [
'AcceptableViewModelSelector' => Plugin\AcceptableViewModelSelector::class
$controller
protected
$factories
protected
Initial value:
= [
Plugin\Forward::class => Plugin\Service\ForwardFactory::class
$instanceOf = Plugin\PluginInterface::class
protected