From: Chuck Hagenbuch Date: Tue, 2 Nov 2010 11:38:44 +0000 (-0400) Subject: Remove binder, just use factory X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=de6fedb7d6ecb4224d6037e0d602796f0dbd8adf;p=horde.git Remove binder, just use factory --- 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