protected function applyInitializers(stdClass $config) {
		foreach ($config as $id => $definitionConf) {
			if (! isset($definitionConf->type)) {
				throw new Exceptions\InvalidConfig('Service definition must contain a "type" property"');
			}
			
			if ($definitionConf->type === 'namespace') {
				if (! isset($definitionConf->namespace)) {
					throw new Exceptions\InvalidConfig('Initializer definition of type "namespace" must contain a "namespace" property');
				}
				
				$initializer = new InitializerNamespace($definitionConf->namespace);
			}
			else if ($definitionConf->type === 'object') {
				if (! isset($definitionConf->class)) {
					throw new Exceptions\InvalidConfig('Initializer definition of type "object" must contain a "class" property');
				}
				
				$initializer = new $definitionConf->class();
			}
			else {
				throw new Exceptions\InvalidConfig('Unknown type of initializer: "' . $definitionConf->type . '"');
			}
			
			if (! empty($definitionConf->factory)) {
				$initializer->setFactoryMode();
			}

			if (isset($definitionConf->arguments)) {
				$args = $this->processArguments($definitionConf->arguments);

				$initializer->setArguments($args);
			}

			$this->container->addLocator($initializer, $id);
		}
	}
protected function applyInitializers(stdClass $config) {
		foreach ($config as $id => $definitionConf) {
			if (! isset($definitionConf->type)) {
				throw new Exceptions\InvalidConfig('Service definition must contain a "type" property"');
			}
			
			if ($definitionConf->type === 'namespace') {
				if (! isset($definitionConf->namespace)) {
					throw new Exceptions\InvalidConfig('Initializer definition of type "namespace" must contain a "namespace" property');
				}
				
				$initializer = new InitializerNamespace($definitionConf->namespace);
			}
			else if ($definitionConf->type === 'object') {
				if (! isset($definitionConf->class)) {
					throw new Exceptions\InvalidConfig('Initializer definition of type "object" must contain a "class" property');
				}
				
				$initializer = new $definitionConf->class();
			}
			else {
				throw new Exceptions\InvalidConfig('Unknown type of initializer: "' . $definitionConf->type . '"');
			}
			
			if (! empty($definitionConf->factory)) {
				$initializer->setFactoryMode();
			}

			if (isset($definitionConf->arguments)) {
				$args = $this->processArguments($definitionConf->arguments);

				$initializer->setArguments($args);
			}

			$this->container->addLocator($initializer, $id);
		}
	}
protected function applyInitializers ( stdClass $ config ) { foreach ( $ config as $ id => $ definitionConf ) { if ( ! isset ( $ definitionConf -> type ) ) { throw new Exceptions \ InvalidConfig ( 'Service definition must contain a "type" property"' ) ; } if ( $ definitionConf -> type === 'namespace' ) { if ( ! isset ( $ definitionConf -> namespace ) ) { throw new Exceptions \ InvalidConfig ( 'Initializer definition of type "namespace" must contain a "namespace" property' ) ; } $ initializer = new InitializerNamespace ( $ definitionConf -> namespace ) ; } else if ( $ definitionConf -> type === 'object' ) { if ( ! isset ( $ definitionConf -> class ) ) { throw new Exceptions \ InvalidConfig ( 'Initializer definition of type "object" must contain a "class" property' ) ; } $ initializer = new $ definitionConf -> class ( ) ; } else { throw new Exceptions \ InvalidConfig ( 'Unknown type of initializer: "' . $ definitionConf -> type . '"' ) ; } if ( ! empty ( $ definitionConf -> factory ) ) { $ initializer -> setFactoryMode ( ) ; } if ( isset ( $ definitionConf -> arguments ) ) { $ args = $ this -> processArguments ( $ definitionConf -> arguments ) ; $ initializer -> setArguments ( $ args ) ; } $ this -> container -> addLocator ( $ initializer , $ id ) ; } }
Apply initializers config to container

@param  object $config
@throws Exceptions\InvalidConfig
Apply initializers config to container