Add a factory for View objects
authorChuck Hagenbuch <chuck@horde.org>
Sun, 12 Sep 2010 03:33:06 +0000 (23:33 -0400)
committerChuck Hagenbuch <chuck@horde.org>
Sun, 12 Sep 2010 03:33:06 +0000 (23:33 -0400)
framework/Core/lib/Horde/Core/Factory/View.php [new file with mode: 0644]
framework/Core/lib/Horde/Registry.php
framework/Core/package.xml

diff --git a/framework/Core/lib/Horde/Core/Factory/View.php b/framework/Core/lib/Horde/Core/Factory/View.php
new file mode 100644 (file)
index 0000000..9c85d47
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+/**
+ * A Horde_Injector:: based factory for creating Horde_View objects.
+ *
+ * Copyright 2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category Horde
+ * @package  Core
+ * @author   Chuck Hagenbuch <chuck@horde.org>
+ * @license  http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link     http://pear.horde.org/index.php?package=Core
+ */
+
+/**
+ * A Horde_Injector:: based factory for creating Horde_View objects.
+ *
+ * Copyright 2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category Horde
+ * @package  Core
+ * @author   Chuck Hagenbuch <chuck@horde.org>
+ * @license  http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link     http://pear.horde.org/index.php?package=Core
+ */
+class Horde_Core_Factory_View
+{
+    public function create(Horde_Injector $injector)
+    {
+        $view = new Horde_View();
+        $view->addBuiltinHelpers();
+        return $view;
+    }
+}
index 04ed3dd..2cb25e5 100644 (file)
@@ -327,13 +327,20 @@ implements Horde_Interfaces_Registry_Auth
             'Horde_Kolab_Storage' => array(
                 'Horde_Core_Factory_KolabStorage',
                 'getStorage',
-            )
+            ),
+            'Horde_View' => array(
+                'Horde_Core_Factory_View',
+                'create',
+            ),
+            'Horde_View_Base' => array(
+                'Horde_Core_Factory_View',
+                'create',
+            ),
         );
 
         /* Define implementations. */
         $implementations = array(
             'Horde_Controller_ResponseWriter' => 'Horde_Controller_ResponseWriter_Web',
-            'Horde_View_Base' => 'Horde_View',
         );
 
         /* Setup injector. */
index ed7a0d4..2e6195a 100644 (file)
@@ -177,6 +177,7 @@ Application Framework.</description>
        <file name="TextFilter.php" role="php" />
        <file name="Tree.php" role="php" />
        <file name="Vfs.php" role="php" />
+       <file name="View.php" role="php" />
       </dir> <!-- /lib/Horde/Core/Factory -->
       <dir name="Log">
        <file name="Logger.php" role="php" />
@@ -501,6 +502,7 @@ Application Framework.</description>
    <install as="Horde/Core/Factory/TextFilter.php" name="lib/Horde/Core/Factory/TextFilter.php" />
    <install as="Horde/Core/Factory/Tree.php" name="lib/Horde/Core/Factory/Tree.php" />
    <install as="Horde/Core/Factory/Vfs.php" name="lib/Horde/Core/Factory/Vfs.php" />
+   <install as="Horde/Core/Factory/View.php" name="lib/Horde/Core/Factory/View.php" />
    <install as="Horde/Core/Log/Logger.php" name="lib/Horde/Core/Log/Logger.php" />
    <install as="Horde/Core/LoginTasks/Backend/Horde.php" name="lib/Horde/Core/LoginTasks/Backend/Horde.php" />
    <install as="Horde/Core/Mime/Viewer/Css.php" name="lib/Horde/Core/Mime/Viewer/Css.php" />