Skip to content
This repository has been archived by the owner on Jan 8, 2020. It is now read-only.

Commit

Permalink
Restoring registration of initializer and abstract factory (non-bc-br…
Browse files Browse the repository at this point in the history
…eak)
  • Loading branch information
Ocramius committed Aug 16, 2012
2 parents cc2dada + e03f4f2 commit 2567c32
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
10 changes: 9 additions & 1 deletion library/Zend/Mvc/Service/DiAbstractServiceFactoryFactory.php
Expand Up @@ -13,6 +13,7 @@
use Zend\ServiceManager\Di\DiAbstractServiceFactory;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
use Zend\ServiceManager\ServiceManager;

/**
* @category Zend
Expand All @@ -29,6 +30,13 @@ class DiAbstractServiceFactoryFactory implements FactoryInterface
*/
public function createService(ServiceLocatorInterface $serviceLocator)
{
return new DiAbstractServiceFactory($serviceLocator->get('Di'), DiAbstractServiceFactory::USE_SL_BEFORE_DI);
$factory = new DiAbstractServiceFactory($serviceLocator->get('Di'), DiAbstractServiceFactory::USE_SL_BEFORE_DI);

if ($serviceLocator instanceof ServiceManager) {
/* @var $serviceLocator ServiceManager */
$serviceLocator->addAbstractFactory($factory);
}

return $factory;
}
}
14 changes: 11 additions & 3 deletions library/Zend/Mvc/Service/DiServiceInitializerFactory.php
Expand Up @@ -13,6 +13,7 @@
use Zend\ServiceManager\Di\DiServiceInitializer;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
use Zend\ServiceManager\ServiceManager;

/**
* @category Zend
Expand All @@ -22,13 +23,20 @@
class DiServiceInitializerFactory implements FactoryInterface
{
/**
* Class responsible for instantiating a DiStrictAbstractServiceFactory
* Class responsible for instantiating a DiServiceInitializer
*
* @param ServiceLocatorInterface $serviceLocator
* @return DiStrictAbstractServiceFactory
* @return DiServiceInitializer
*/
public function createService(ServiceLocatorInterface $serviceLocator)
{
return new DiServiceInitializer($serviceLocator->get('Di'), $serviceLocator);
$initializer = new DiServiceInitializer($serviceLocator->get('Di'), $serviceLocator);

if ($serviceLocator instanceof ServiceManager) {
/* @var $serviceLocator ServiceManager */
$serviceLocator->addInitializer($initializer);

This comment has been minimized.

Copy link
@Ocramius

Ocramius Jan 23, 2013

Author Member

@mwillbanks this one is the evil row. I'm totally for removing it (related to #3537)

}

return $initializer;
}
}

0 comments on commit 2567c32

Please sign in to comment.