/[cvs]/nfo/php/libs/org.netfrag.glib/DesignPattern/MVC.php
ViewVC logotype

Annotation of /nfo/php/libs/org.netfrag.glib/DesignPattern/MVC.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Sat Mar 1 16:53:57 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
Changes since 1.1: +19 -9 lines
+ now propagating/forwarding passed-in data to add_[model|view|controller] to base class method DesignPattern::Container::__add_entity to store it
   is this a case for aspect-oriented-programming?
- removed calls to _abstract_method

1 joko 1.1 <?php
2    
3     /**
4     * This file contains the DesignPattern::MVC class.
5     *
6     * @author Andreas Motl <andreas.motl@ilo.de>
7     * @package org.netfrag.glib
8     */
9    
10     /**
11 joko 1.2 * $Id: MVC.php,v 1.1 2003/03/01 15:31:18 joko Exp $
12     *
13     * $Log: MVC.php,v $
14     * Revision 1.1 2003/03/01 15:31:18 joko
15     * + initial commit
16 joko 1.1 *
17     *
18     */
19    
20    
21     /**
22 joko 1.2 * This tries to abstract some parts of the MVC Pattern.
23 joko 1.1 *
24     *
25     * @author Andreas Motl <andreas.motl@ilo.de>
26     * @copyright (c) 2003 - All Rights reserved.
27     * @license GNU LGPL (GNU Lesser General Public License)
28     *
29     * @author-url http://www.netfrag.org/~joko/
30     * @license-url http://www.gnu.org/licenses/lgpl.txt
31     *
32     * @package org.netfrag.glib
33     * @module Application::ComponentRegistry
34     *
35     */
36    
37     /**
38     * Todo:
39     *
40     * o xyz
41     * o bla, bli, blub
42     *
43     *
44     */
45    
46    
47     // isn't required by now:
48     //loadModule('DesignPattern::Object');
49     //class DesignPattern_MVC extends DesignPattern_Object {
50    
51 joko 1.2 loadModule('DesignPattern::Container');
52     class DesignPattern_MVC extends DesignPattern_Container {
53 joko 1.1
54     var $_model = NULL;
55     var $_view = NULL;
56     var $_controller = NULL;
57    
58    
59     /**
60     * The constructor ...
61     * ... just does nothing.
62     *
63     * @param registry
64     */
65     function DesignPattern_MVC() {
66     }
67    
68     function _abstract_method($method) {
69 joko 1.2 $package = get_class($this);
70     print "$package: Please implement method '$method'.<br/>";
71 joko 1.1 }
72 joko 1.2
73    
74    
75 joko 1.1 function add_model() {
76 joko 1.2 $args = &func_get_args();
77     $this->__add_entity('model', &$args);
78 joko 1.1 }
79    
80     function add_view() {
81 joko 1.2 $args = &func_get_args();
82     $this->__add_entity('view', &$args);
83 joko 1.1 }
84    
85     function add_controller() {
86 joko 1.2 $args = &func_get_args();
87     $this->__add_entity('controller', &$args);
88 joko 1.1 }
89    
90     function setup_views() {
91     $this->_abstract_method('setup_views');
92     }
93    
94     }
95    
96     ?>

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