From: Michael M Slusarz Date: Fri, 3 Sep 2010 17:53:40 +0000 (-0600) Subject: Use ondemand injector binding throughout Horde X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=3b84d04919accf91428a760b2ba7921a543d3909;p=horde.git Use ondemand injector binding throughout Horde --- diff --git a/ansel/lib/Application.php b/ansel/lib/Application.php index 8610f7038..819e11d39 100644 --- a/ansel/lib/Application.php +++ b/ansel/lib/Application.php @@ -66,12 +66,12 @@ class Ansel_Application extends Horde_Registry_Application } $binders = array( - 'Ansel_Styles' => new Ansel_Injector_Binder_Styles(), - 'Ansel_Faces' => new Ansel_Injector_Binder_Faces(), - 'Ansel_Storage' => new Ansel_Injector_Binder_Storage() + 'Ansel_Styles' => 'Ansel_Injector_Binder_Styles', + 'Ansel_Faces' => 'Ansel_Injector_Binder_Faces', + 'Ansel_Storage' => 'Ansel_Injector_Binder_Storage' ); foreach ($binders as $interface => $binder) { - $GLOBALS['injector']->addBinder($interface, $binder); + $GLOBALS['injector']->addOndemandBinder($interface, $binder); } // Create db, share, and vfs instances. diff --git a/framework/Core/lib/Horde/Registry.php b/framework/Core/lib/Horde/Registry.php index 6293f43ac..e9b912ae4 100644 --- a/framework/Core/lib/Horde/Registry.php +++ b/framework/Core/lib/Horde/Registry.php @@ -260,44 +260,44 @@ implements Horde_Interfaces_Registry_Auth /* Define binders. */ $binders = array( - 'Horde_Ajax' => new Horde_Core_Binder_Ajax(), - 'Horde_Ajax_Imple' => new Horde_Core_Binder_Imple(), - 'Horde_Alarm' => new Horde_Core_Binder_Alarm(), - 'Horde_Auth' => new Horde_Core_Binder_Auth(), + 'Horde_Ajax' => 'Horde_Core_Binder_Ajax', + 'Horde_Ajax_Imple' => 'Horde_Core_Binder_Imple', + 'Horde_Alarm' => 'Horde_Core_Binder_Alarm', + 'Horde_Auth' => 'Horde_Core_Binder_Auth', // 'Horde_Browser' - initialized below - 'Horde_Cache' => new Horde_Core_Binder_Cache(), - 'Horde_Core_Auth_Signup' => new Horde_Core_Binder_AuthSignup(), - 'Horde_Crypt' => new Horde_Core_Binder_Crypt(), - 'Horde_Data' => new Horde_Core_Binder_Data(), - 'Horde_Db' => new Horde_Core_Binder_Db(), - 'Horde_Db_Adapter_Base' => new Horde_Core_Binder_DbBase(), - 'Horde_Db_Pear' => new Horde_Core_Binder_DbPear(), - 'Horde_Editor' => new Horde_Core_Binder_Editor(), - 'Horde_History' => new Horde_Core_Binder_History(), - 'Horde_Http_Client' => new Horde_Core_Binder_HttpClient(), - 'Horde_Ldap' => new Horde_Core_Binder_Ldap(), - 'Horde_Lock' => new Horde_Core_Binder_Lock(), - 'Horde_Log_Logger' => new Horde_Core_Binder_Logger(), - 'Horde_LoginTasks' => new Horde_Core_Binder_LoginTasks(), - 'Horde_Mail' => new Horde_Core_Binder_Mail(), - 'Horde_Memcache' => new Horde_Core_Binder_Memcache(), - 'Horde_Mime_Viewer' => new Horde_Core_Binder_MimeViewer(), - 'Horde_Notification' => new Horde_Core_Binder_Notification(), - 'Horde_Perms' => new Horde_Core_Binder_Perms(), - 'Horde_Prefs' => new Horde_Core_Binder_Prefs(), - 'Horde_Prefs_Identity' => new Horde_Core_Binder_Identity(), + 'Horde_Cache' => 'Horde_Core_Binder_Cache', + 'Horde_Core_Auth_Signup' => 'Horde_Core_Binder_AuthSignup', + 'Horde_Crypt' => 'Horde_Core_Binder_Crypt', + 'Horde_Data' => 'Horde_Core_Binder_Data', + 'Horde_Db' => 'Horde_Core_Binder_Db', + 'Horde_Db_Adapter_Base' => 'Horde_Core_Binder_DbBase', + 'Horde_Db_Pear' => 'Horde_Core_Binder_DbPear', + 'Horde_Editor' => 'Horde_Core_Binder_Editor', + 'Horde_History' => 'Horde_Core_Binder_History', + 'Horde_Http_Client' => 'Horde_Core_Binder_HttpClient', + 'Horde_Ldap' => 'Horde_Core_Binder_Ldap', + 'Horde_Lock' => 'Horde_Core_Binder_Lock', + 'Horde_Log_Logger' => 'Horde_Core_Binder_Logger', + 'Horde_LoginTasks' => 'Horde_Core_Binder_LoginTasks', + 'Horde_Mail' => 'Horde_Core_Binder_Mail', + 'Horde_Memcache' => 'Horde_Core_Binder_Memcache', + 'Horde_Mime_Viewer' => 'Horde_Core_Binder_MimeViewer', + 'Horde_Notification' => 'Horde_Core_Binder_Notification', + 'Horde_Perms' => 'Horde_Core_Binder_Perms', + 'Horde_Prefs' => 'Horde_Core_Binder_Prefs', + 'Horde_Prefs_Identity' => 'Horde_Core_Binder_Identity', // 'Horde_Registry' - initialized below - 'Horde_Secret' => new Horde_Core_Binder_Secret(), - 'Horde_Service_Facebook' => new Horde_Core_Binder_Facebook(), - 'Horde_Service_Twitter' => new Horde_Core_Binder_Twitter(), - 'Horde_SessionHandler' => new Horde_Core_Binder_SessionHandler(), - 'Horde_Share' => new Horde_Core_Binder_Share(), - 'Horde_Template' => new Horde_Core_Binder_Template(), - 'Horde_Text_Filter' => new Horde_Core_Binder_TextFilter(), - 'Horde_Tree' => new Horde_Core_Binder_Tree(), - 'Horde_Token' => new Horde_Core_Binder_Token(), - 'Horde_Vfs' => new Horde_Core_Binder_Vfs(), - 'Net_DNS_Resolver' => new Horde_Core_Binder_Dns(), + 'Horde_Secret' => 'Horde_Core_Binder_Secret', + 'Horde_Service_Facebook' => 'Horde_Core_Binder_Facebook', + 'Horde_Service_Twitter' => 'Horde_Core_Binder_Twitter', + 'Horde_SessionHandler' => 'Horde_Core_Binder_SessionHandler', + 'Horde_Share' => 'Horde_Core_Binder_Share', + 'Horde_Template' => 'Horde_Core_Binder_Template', + 'Horde_Text_Filter' => 'Horde_Core_Binder_TextFilter', + 'Horde_Tree' => 'Horde_Core_Binder_Tree', + 'Horde_Token' => 'Horde_Core_Binder_Token', + 'Horde_Vfs' => 'Horde_Core_Binder_Vfs', + 'Net_DNS_Resolver' => 'Horde_Core_Binder_Dns', ); /* Define factories. */ @@ -334,7 +334,7 @@ implements Horde_Interfaces_Registry_Auth $GLOBALS['injector'] = $injector = new Horde_Injector(new Horde_Injector_TopLevel()); foreach ($binders as $key => $val) { - $injector->addBinder($key, $val); + $injector->addOndemandBinder($key, $val); } foreach ($factories as $key => $val) { $injector->bindFactory($key, $val[0], $val[1]); diff --git a/horde/lib/Prefs/Ui.php b/horde/lib/Prefs/Ui.php index f0b8ac0d9..1cb1f7625 100644 --- a/horde/lib/Prefs/Ui.php +++ b/horde/lib/Prefs/Ui.php @@ -451,10 +451,8 @@ class Horde_Prefs_Ui { global $prefs; - /* Horde_Service_Facebook */ - $GLOBALS['injector']->addBinder('Facebook', new Horde_Core_Binder_Facebook()); try { - $facebook = $GLOBALS['injector']->getInstance('Facebook'); + $facebook = $GLOBALS['injector']->getInstance('Horde_Service_Facebook'); } catch (Horde_Exception $e) { return _($e->getMessage()); } @@ -766,10 +764,8 @@ class Horde_Prefs_Ui { global $prefs; - /* Horde_Service_Facebook */ - $GLOBALS['injector']->addBinder('Facebook', new Horde_Core_Binder_Facebook()); try { - $facebook = $GLOBALS['injector']->getInstance('Facebook'); + $facebook = $GLOBALS['injector']->getInstance('Horde_Service_Facebook'); } catch (Horde_Exception $e) { return _($e->getMessage()); } diff --git a/imp/lib/Application.php b/imp/lib/Application.php index f2b00e1f7..b451b4114 100644 --- a/imp/lib/Application.php +++ b/imp/lib/Application.php @@ -90,24 +90,24 @@ class IMP_Application extends Horde_Registry_Application { /* Add IMP-specific binders. */ $binders = array( - 'IMP_AuthImap' => new IMP_Injector_Binder_AuthImap(), - 'IMP_Compose' => new IMP_Injector_Binder_Compose(), - 'IMP_Contents' => new IMP_Injector_Binder_Contents(), - 'IMP_Crypt_Pgp' => new IMP_Injector_Binder_Pgp(), - 'IMP_Crypt_Smime' => new IMP_Injector_Binder_Smime(), - 'IMP_Identity' => new IMP_Injector_Binder_Identity(), - 'IMP_Imap' => new IMP_Injector_Binder_Imap(), - 'IMP_Imap_Tree' => new IMP_Injector_Binder_Imaptree(), - 'IMP_Mail' => new IMP_Injector_Binder_Mail(), - 'IMP_Mailbox' => new IMP_Injector_Binder_Mailbox(), - 'IMP_Mime_Viewer' => new IMP_Injector_Binder_MimeViewer(), - 'IMP_Quota' => new IMP_Injector_Binder_Quota(), - 'IMP_Search' => new IMP_Injector_Binder_Search(), - 'IMP_Sentmail' => new IMP_Injector_Binder_Sentmail() + 'IMP_AuthImap' => 'IMP_Injector_Binder_AuthImap', + 'IMP_Compose' => 'IMP_Injector_Binder_Compose', + 'IMP_Contents' => 'IMP_Injector_Binder_Contents', + 'IMP_Crypt_Pgp' => 'IMP_Injector_Binder_Pgp', + 'IMP_Crypt_Smime' => 'IMP_Injector_Binder_Smime', + 'IMP_Identity' => 'IMP_Injector_Binder_Identity', + 'IMP_Imap' => 'IMP_Injector_Binder_Imap', + 'IMP_Imap_Tree' => 'IMP_Injector_Binder_Imaptree', + 'IMP_Mail' => 'IMP_Injector_Binder_Mail', + 'IMP_Mailbox' => 'IMP_Injector_Binder_Mailbox', + 'IMP_Mime_Viewer' => 'IMP_Injector_Binder_MimeViewer', + 'IMP_Quota' => 'IMP_Injector_Binder_Quota', + 'IMP_Search' => 'IMP_Injector_Binder_Search', + 'IMP_Sentmail' => 'IMP_Injector_Binder_Sentmail' ); foreach ($binders as $key => $val) { - $GLOBALS['injector']->addBinder($key, $val); + $GLOBALS['injector']->addOndemandBinder($key, $val); } // Set default message character set. diff --git a/jonah/lib/Application.php b/jonah/lib/Application.php index 1fa996bf7..aebfb8020 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']->addOndemandBinder('Jonah_Driver', 'Jonah_Injector_Binder_Driver'); } /** diff --git a/turba/lib/Application.php b/turba/lib/Application.php index 4a8124e5a..196ca21e4 100644 --- a/turba/lib/Application.php +++ b/turba/lib/Application.php @@ -61,11 +61,11 @@ class Turba_Application extends Horde_Registry_Application { /* Add Turba-specific binders. */ $binders = array( - 'Turba_Driver' => new Turba_Injector_Binder_Driver() + 'Turba_Driver' => 'Turba_Injector_Binder_Driver' ); foreach ($binders as $key => $val) { - $GLOBALS['injector']->addBinder($key, $val); + $GLOBALS['injector']->addOndemandBinder($key, $val); } // Turba source and attribute configuration.