From c48bf8164c955ecfdea67dae25d290fae3d8e75b Mon Sep 17 00:00:00 2001 From: Chris Raidler Date: Sat, 20 Jul 2013 07:55:46 +0200 Subject: [PATCH] added an abstract factory for configs --- library/Zend/Config/AbstractConfigFactory.php | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 library/Zend/Config/AbstractConfigFactory.php diff --git a/library/Zend/Config/AbstractConfigFactory.php b/library/Zend/Config/AbstractConfigFactory.php new file mode 100644 index 00000000000..d0bf5a3f27d --- /dev/null +++ b/library/Zend/Config/AbstractConfigFactory.php @@ -0,0 +1,60 @@ +pattern, $requestedName, $matches)) { + return false; + } + + $config = $serviceLocator->get('Config'); + if (!isset($config[$matches[1]])) { + return false; + } + + return true; + } + + /** + * Create service with name + * + * @param ServiceManager\ServiceLocatorInterface $serviceLocator + * @param string $name + * @param string $requestedName + * @return mixed + */ + public function createServiceWithName(ServiceManager\ServiceLocatorInterface $serviceLocator, $name, $requestedName) + { + preg_match($this->pattern, $requestedName, $matches); + $config = $serviceLocator->get('Config'); + return new Config($config[$matches[1]]); + } +}