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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by joko, Sat Mar 1 21:13:00 2003 UTC revision 1.11 by joko, Mon Mar 10 22:31:56 2003 UTC
# Line 1  Line 1 
1  <?php  <?php
   
2  /**  /**
3   * This file contains the DesignPattern::MVC class.   * This file contains the DesignPattern::MVC class
4   *   *
5   * @author Andreas Motl <andreas.motl@ilo.de>   * @author Andreas Motl <andreas.motl@ilo.de>
6   * @package org.netfrag.glib   * @package org.netfrag.glib
7   */   * @name DesignPattern::MVC
8     *
9  /**   *
10     *
11     * <b>Cvs-Log:</b>
12     *
13     * <pre>
14   * $Id$   * $Id$
15   *   *
16   * $Log$   * $Log$
17     * Revision 1.11  2003/03/10 22:31:56  joko
18     * + fixed metadata for phpDocumentor
19     *
20     * Revision 1.10  2003/03/05 17:02:22  joko
21     * updated docu (phpDocumentor testing....)
22     *
23     * Revision 1.9  2003/03/05 16:32:18  joko
24     * updated docu (phpDocumentor testing....)
25     *
26     * Revision 1.8  2003/03/05 16:10:17  joko
27     * updated docu (phpDocumentor testing....)
28     *
29     * Revision 1.7  2003/03/05 15:41:03  joko
30     * updated docu (phpDocumentor testing....)
31     *
32     * Revision 1.6  2003/03/05 15:24:23  joko
33     * updated docu (phpDocumentor testing....)
34     *
35     * Revision 1.5  2003/03/03 21:57:42  joko
36     * changed base class
37     *
38     * Revision 1.4  2003/03/01 22:44:54  joko
39     * setup_views not required?
40     *
41   * Revision 1.3  2003/03/01 21:13:00  joko   * Revision 1.3  2003/03/01 21:13:00  joko
42   * now actually doing something via '->perform'   * now actually doing something via '->perform'
43   *   *
44   * Revision 1.2  2003/03/01 16:53:57  joko   * Revision 1.2  2003/03/01 16:53:57  joko
45   * + now propagating/forwarding passed-in data to add_[model|view|controller] to base class method DesignPattern::Container::__push_element to store it   * + now propagating/forwarding passed-in data to add_[model|view|controller] to base class method DesignPattern::Container::push_element to store it
46   *    is this a case for aspect-oriented-programming?   *    is this a case for aspect-oriented-programming?
47   * - removed calls to _abstract_method   * - removed calls to _abstract_method
48   *   *
49   * Revision 1.1  2003/03/01 15:31:18  joko   * Revision 1.1  2003/03/01 15:31:18  joko
50   * + initial commit   * + initial commit
51     * </pre>
52   *   *
53   *   *
54   */   */
55    
56    
57  /**  /**
58   * This tries to abstract some parts of the MVC Pattern.   * This tries to abstract some parts of the MVC Pattern
  *  
59   *   *
60   * @author Andreas Motl <andreas.motl@ilo.de>   * @author Andreas Motl <andreas.motl@ilo.de>
61     * @link http://www.netfrag.org/~joko/
62   * @copyright (c) 2003 - All Rights reserved.   * @copyright (c) 2003 - All Rights reserved.
63   * @license GNU LGPL (GNU Lesser General Public License)   * @license GNU LGPL (GNU Lesser General Public License)
64   *   * @link http://www.gnu.org/licenses/lgpl.txt
  * @author-url http://www.netfrag.org/~joko/  
  * @license-url http://www.gnu.org/licenses/lgpl.txt  
65   *   *
66   * @package org.netfrag.glib   * @package org.netfrag.glib
67   * @module Application::ComponentRegistry   * @subpackage DesignPattern
68     * @name DesignPattern::MVC
69   *   *
  */  
   
 /**  
  * Todo:  
70   *   *
71   *  o xyz   * @todo xyz
72   *  o bla, bli, blub   * @todo bla, bli, blub
73   *   *
74   *   *
75   */   */
76    class DesignPattern_MVC extends DesignPattern_Facade {
   
 // isn't required by now:  
 //loadModule('DesignPattern::Object');  
 //class DesignPattern_MVC extends DesignPattern_Object {  
   
 loadModule('DesignPattern::Container');  
 class DesignPattern_MVC extends DesignPattern_Container {  
77    
78    var $_model = array();    var $_model = array();
79    var $_view = array();    var $_view = array();
# Line 72  class DesignPattern_MVC extends DesignPa Line 88  class DesignPattern_MVC extends DesignPa
88    *    *
89    * @param registry    * @param registry
90    */    */
91    function DesignPattern_MVC() {    function constructor() {
92        parent::constructor();
93    }    }
94    
95    function _abstract_method($method) {    function _abstract_method($method) {
# Line 119  class DesignPattern_MVC extends DesignPa Line 136  class DesignPattern_MVC extends DesignPa
136    }    }
137        
138    function setup_views() {    function setup_views() {
139      $this->_abstract_method('setup_views');      //$this->_abstract_method('setup_views');
140    }    }
141        
142    
143    function add_model() {    function add_model() {
144      $args = &func_get_args();      $args = &func_get_args();
145      $this->__push('model', &$args[0]);      $this->_container->push('model', &$args[0]);
146    }    }
147    
148    function add_view() {    function add_view() {
149      $args = &func_get_args();      $args = &func_get_args();
150      $this->__push('view', &$args[0]);      $this->_container->push('view', &$args[0]);
151    }    }
152    
153    function add_controller() {    function add_controller() {
154      $args = &func_get_args();      $args = &func_get_args();
155      $this->__push('controller', &$args[0]);      $this->_container->push('controller', &$args[0]);
156    }    }
157    
158    function &get_model_data() {    function &get_model_data() {
159      return $this->__last('model');      return $this->_container->last('model');
160    }    }
161    
162    function &get_view_data() {    function &get_view_data() {
163      $args = &func_get_args();      $args = &func_get_args();
164      $slot = $args[0];      $slot = $args[0];
165      return $this->__slot('view', $slot);      return $this->_container->slot('view', $slot);
166    }    }
167    
168    function &get_controller_data() {    function &get_controller_data() {
169      return $this->__last('controller');      return $this->_container->last('controller');
170    }    }
171    
172  }  }

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.11

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