Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: b5315028c6
Fetching contributors…

Cannot retrieve contributors at this time

167 lines (145 sloc) 4.156 kb
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace Zend\ServiceManager;
class Config implements ConfigInterface
{
/**
* @var array
*/
protected $config = array();
/**
* Constructor
*
* @param array $config
*/
public function __construct($config = array())
{
$this->config = $config;
}
/**
* Get allow override
*
* @return null|bool
*/
public function getAllowOverride()
{
return (isset($this->config['allow_override'])) ? $this->config['allow_override'] : null;
}
/**
* Get factories
*
* @return array
*/
public function getFactories()
{
return (isset($this->config['factories'])) ? $this->config['factories'] : array();
}
/**
* Get abstract factories
*
* @return array
*/
public function getAbstractFactories()
{
return (isset($this->config['abstract_factories'])) ? $this->config['abstract_factories'] : array();
}
/**
* Get invokables
*
* @return array
*/
public function getInvokables()
{
return (isset($this->config['invokables'])) ? $this->config['invokables'] : array();
}
/**
* Get services
*
* @return array
*/
public function getServices()
{
return (isset($this->config['services'])) ? $this->config['services'] : array();
}
/**
* Get aliases
*
* @return array
*/
public function getAliases()
{
return (isset($this->config['aliases'])) ? $this->config['aliases'] : array();
}
/**
* Get initializers
*
* @return array
*/
public function getInitializers()
{
return (isset($this->config['initializers'])) ? $this->config['initializers'] : array();
}
/**
* Get shared
*
* @return array
*/
public function getShared()
{
return (isset($this->config['shared'])) ? $this->config['shared'] : array();
}
/**
* Get the delegator services map, with keys being the services acting as delegates,
* and values being the delegator factories names
*
* @return array
*/
public function getDelegators()
{
return (isset($this->config['delegators'])) ? $this->config['delegators'] : array();
}
/**
* Configure service manager
*
* @param ServiceManager $serviceManager
* @return void
*/
public function configureServiceManager(ServiceManager $serviceManager)
{
if (($allowOverride = $this->getAllowOverride()) !== null) {
$serviceManager->setAllowOverride($allowOverride);
}
foreach ($this->getFactories() as $name => $factory) {
$serviceManager->setFactory($name, $factory);
}
foreach ($this->getAbstractFactories() as $factory) {
$serviceManager->addAbstractFactory($factory);
}
foreach ($this->getInvokables() as $name => $invokable) {
$serviceManager->setInvokableClass($name, $invokable);
}
foreach ($this->getServices() as $name => $service) {
$serviceManager->setService($name, $service);
}
foreach ($this->getAliases() as $alias => $nameOrAlias) {
$serviceManager->setAlias($alias, $nameOrAlias);
}
foreach ($this->getInitializers() as $initializer) {
$serviceManager->addInitializer($initializer);
}
foreach ($this->getShared() as $name => $isShared) {
$serviceManager->setShared($name, $isShared);
}
foreach ($this->getDelegators() as $originalServiceName => $delegators) {
foreach ($delegators as $delegator) {
$serviceManager->addDelegator($originalServiceName, $delegator);
}
}
}
}
Jump to Line
Something went wrong with that request. Please try again.