Use ondemand injector binding throughout Horde
authorMichael M Slusarz <slusarz@curecanti.org>
Fri, 3 Sep 2010 17:53:40 +0000 (11:53 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Fri, 3 Sep 2010 19:59:29 +0000 (13:59 -0600)
ansel/lib/Application.php
framework/Core/lib/Horde/Registry.php
horde/lib/Prefs/Ui.php
imp/lib/Application.php
jonah/lib/Application.php
turba/lib/Application.php

index 8610f70..819e11d 100644 (file)
@@ -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.
index 6293f43..e9b912a 100644 (file)
@@ -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]);
index f0b8ac0..1cb1f76 100644 (file)
@@ -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());
         }
index f2b00e1..b451b41 100644 (file)
@@ -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.
index 1fa996b..aebfb80 100644 (file)
@@ -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');
     }
 
     /**
index 4a8124e..196ca21 100644 (file)
@@ -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.