From de6fedb7d6ecb4224d6037e0d602796f0dbd8adf Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Tue, 2 Nov 2010 07:38:44 -0400 Subject: [PATCH] Remove binder, just use factory --- jonah/lib/Application.php | 2 +- jonah/lib/Injector/Binder/Driver.php | 31 ------------------------------- jonah/lib/Injector/Factory/Driver.php | 6 ++++-- 3 files changed, 5 insertions(+), 34 deletions(-) delete mode 100644 jonah/lib/Injector/Binder/Driver.php diff --git a/jonah/lib/Application.php b/jonah/lib/Application.php index fb87b4e77..bbbf30960 100644 --- a/jonah/lib/Application.php +++ b/jonah/lib/Application.php @@ -34,7 +34,7 @@ class Jonah_Application extends Horde_Registry_Application */ protected function _init() { - $GLOBALS['injector']->addBinder('Jonah_Driver', new Jonah_Injector_Binder_Driver()); + $GLOBALS['injector']->bindFactory('Jonah_Driver', 'Jonah_Injector_Factory_Driver', 'create'); } /** diff --git a/jonah/lib/Injector/Binder/Driver.php b/jonah/lib/Injector/Binder/Driver.php deleted file mode 100644 index 14715283c..000000000 --- a/jonah/lib/Injector/Binder/Driver.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @package Jonah - */ -class Jonah_Injector_Binder_Driver Implements Horde_Injector_Binder -{ - public function create(Horde_Injector $injector) - { - $driver = Horde_String::ucfirst($GLOBALS['conf']['news']['storage']['driver']); - $params = Horde::getDriverConfig(array('news', 'storage'), $driver); - - $factory = new Jonah_Injector_Factory_Driver($injector); - return $factory->getDriver($driver, $params); - } - - /** - */ - public function equals(Horde_Injector_Binder $binder) - { - return false; - } - -} diff --git a/jonah/lib/Injector/Factory/Driver.php b/jonah/lib/Injector/Factory/Driver.php index 8da0afc88..aba88bf8e 100644 --- a/jonah/lib/Injector/Factory/Driver.php +++ b/jonah/lib/Injector/Factory/Driver.php @@ -46,9 +46,12 @@ class Jonah_Injector_Factory_Driver * @return Jonah_Driver * @throws Jonah_Exception */ - public function getDriver($driver, $params = array()) + public function create() { + $driver = Horde_String::ucfirst($GLOBALS['conf']['news']['storage']['driver']); $driver = basename($driver); + $params = Horde::getDriverConfig(array('news', 'storage'), $driver); + $sig = md5($driver . serialize($params)); if (isset($this->_instances[$sig])) { return $this->_instances[$sig]; @@ -64,5 +67,4 @@ class Jonah_Injector_Factory_Driver return $this->_instances[$sig]; } - } \ No newline at end of file -- 2.11.0