Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Commit

Permalink
Make zf2 service manager higher priority source of resources
Browse files Browse the repository at this point in the history
ZF1 bootstrap will now look for zf1_resource_* in service manager before
trying to use zf1 resources. That will allow to override resources from
zf2
  • Loading branch information
Xerkus committed Feb 5, 2015
1 parent c2480e5 commit e129893
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions src/Zf2for1/Application/Zf2Bootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,28 +45,30 @@ public function hasResource($name)
$service = $this->resolveResourceToServiceName($name);
$serviceLocator = $this->getResource('zf2')->getServiceManager();

// return registered resource or proxy to service locator to allow
// get resource from service manager or fallback to zf1 resources for
// greater backwards compatibility while utilizing service locator
return parent::hasResource($name) || $serviceLocator->has($service);
return $serviceLocator->has($service) || parent::hasResource($name);
}

public function getResource($name)
{
if (strtolower($name) == 'zf2' || parent::hasResource($name)) {
return parent::getResource($name);
if (strtolower($name) == 'zf2') {
//for zf2 go directly to resource class
return parent::getResource('zf2');
}

// first try to get resource from service manager
$service = $this->resolveResourceToServiceName($name);
$serviceLocator = $this->getResource('zf2')->getServiceManager();
if ($serviceLocator->has($service)) {
try {
return $serviceLocator->get('service');
return $serviceLocator->get($service);
} catch (\Exception $e) {
throw new Zend_Application_Bootstrap_Exception($e->getMessage(), 0, $e);
}
}

return null;
// fallback to zf1 resources
return parent::getResource($name);
}

public function resolveResourceToServiceName($resource)
Expand Down

0 comments on commit e129893

Please sign in to comment.