/[cvs]/nfo/php/libs/org.netfrag.glib/Application/ComponentRegistry.php
ViewVC logotype

Annotation of /nfo/php/libs/org.netfrag.glib/Application/ComponentRegistry.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide annotations)
Tue Mar 11 02:04:35 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
Changes since 1.5: +9 -4 lines
+ fixed metadata for phpDocumentor

1 joko 1.1 <?php
2     /**
3     * This file contains the Application::ComponentRegistry class.
4     *
5     * @author Andreas Motl <andreas.motl@ilo.de>
6 joko 1.2 * @package org.netfrag.glib
7     * @name Application::ComponentRegistry
8     *
9 joko 1.1 */
10    
11     /**
12 joko 1.4 * <b>Cvs-Log:</b>
13     *
14     * <pre>
15 joko 1.6 * $Id: ComponentRegistry.php,v 1.5 2003/03/11 01:42:57 joko Exp $
16 joko 1.2 *
17     * $Log: ComponentRegistry.php,v $
18 joko 1.6 * Revision 1.5 2003/03/11 01:42:57 joko
19     * + fixed metadata for phpDocumentor
20     *
21 joko 1.5 * Revision 1.4 2003/03/11 01:22:22 joko
22     * + fixed metadata for phpDocumentor
23     *
24 joko 1.4 * Revision 1.3 2003/03/10 23:25:02 joko
25     * + fixed metadata for phpDocumentor
26     *
27 joko 1.3 * Revision 1.2 2003/03/05 18:54:42 joko
28     * updated docu - phpDocumentor is very strict about its 'blocks'...
29     *
30 joko 1.2 * Revision 1.1 2003/03/01 15:29:11 joko
31     * + initial commit
32 joko 1.4 * </pre>
33 joko 1.1 *
34     */
35    
36    
37     /**
38     * This provides an infrastructure for having
39     * components to be registered with.
40     *
41     * These components could be something which make up
42     * parts, areas or pages on a large website (the level above
43     * the widget-layer) or just simple plugins or shared code.
44     * (similar to m$'s dll/com-system, but very lightweight)
45     *
46     * Currently, we are registering "Views" with this thing.
47     * These "Views" should represent the "Views" in the MVC Model.
48     * "Views" are components made up of phpHtmlLib widgets.
49     *
50     * They currently live in the "Page::" namespace, which should be
51     * migrated to the "View::" namespace to actually represent this
52     * stuff conveniently 1:1 in userspace.
53     *
54 joko 1.6 * <ul>
55     * references
56     * <li>package=org.netfrag.glib, module=DesignPattern::MVC</li>
57     * <li>package=lib.admin.frontend, module=TsBackend: $this->_mvc->add_view( ... )</li>
58     * </ul>
59 joko 1.1 *
60     *
61     * @author Andreas Motl <andreas.motl@ilo.de>
62     * @copyright (c) 2003 - All Rights reserved.
63     * @license GNU LGPL (GNU Lesser General Public License)
64     *
65 joko 1.2 * @link http://www.netfrag.org/~joko/
66     * @link http://www.gnu.org/licenses/lgpl.txt
67 joko 1.1 *
68     * @package org.netfrag.glib
69 joko 1.2 * @subpackage Application
70     * @name Application::ComponentRegistry
71 joko 1.1 *
72 joko 1.3 * @todo (o) Be able to *persistently* register new components.
73 joko 1.1 * By now the declaration (read-only) is included on each request.
74     * No caching or similar stuff occours at this level!!!
75     *
76     */
77     class Application_ComponentRegistry {
78    
79     /**
80     * This var holds the locator metadata hash
81     * that is used to feed metadata to a per-query-instance
82     * of a Data::Driver::Proxy object.
83     *
84     */
85     var $_regdb = NULL;
86    
87     var $_registry = NULL;
88     var $_mode = NULL;
89    
90    
91     /**
92     * The constructor may be used to pass in the
93     * complete registry as a payload chunk.
94     *
95     * @param registry
96     */
97     function Application_ComponentRegistry($registry = null, $mode = null) {
98    
99     $this->_registry = &$registry;
100    
101     if ($mode) {
102     $this->set_mode($mode);
103    
104     // autodetect mode
105     } else {
106    
107     if ($registry) {
108     $this->set_mode('REGDB_PAYLOAD');
109     } else {
110     $this->set_mode('REGDB_CONSTANT');
111     }
112    
113     }
114    
115     $this->read_regdb();
116    
117     }
118    
119     function set_mode( $mode ) {
120     $this->_mode = $mode;
121     return $this->_mode;
122     }
123    
124     function get_mode() {
125     return $this->_mode;
126     }
127    
128     function read_regdb() {
129     switch ($this->get_mode()) {
130     case 'REGDB_LOCAL':
131     $this->_regdb = &$this->_registry;
132     break;
133     case 'REGDB_CONSTANT':
134     $this->_regdb = COMPONENT_regdb;
135     break;
136     }
137    
138     }
139    
140     function getComponentByTopic($name) {
141    
142     }
143    
144     function getComponentByPage($name) {
145    
146     }
147    
148    
149     }
150    
151     ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed