source: trunk/Packages/Common/Application.php@ 92

Last change on this file since 92 was 92, checked in by chronos, 5 years ago
  • Modified: Improved code formatting.
File size: 1.0 KB
Line 
1<?php
2
3class ModelDef
4{
5 var $OnChange;
6
7 function __construct()
8 {
9 $this->OnChange = array();
10 }
11
12 function DoOnChange()
13 {
14 foreach ($this->OnChange as $Callback)
15 {
16 call_user_func($Callback);
17 }
18 }
19
20 function RegisterOnChange($SysName, $Callback)
21 {
22 $this->OnChange[$SysName] = $Callback;
23 }
24
25 function UnregisterOnChange($SysName)
26 {
27 unset($this->OnChange[$SysName]);
28 }
29}
30
31class Application extends System
32{
33 var $Name;
34 /** @var AppModuleManager */
35 var $ModuleManager;
36 var $Modules;
37 var $Models;
38
39 function __construct()
40 {
41 parent::__construct();
42 $this->Name = 'Application';
43 $this->ModuleManager = new AppModuleManager($this);
44 $this->Modules = array();
45 $this->Models = array();
46 }
47
48 function RegisterModel($SysName, $Model)
49 {
50 $NewModelDef = new ModelDef();
51 $NewModelDef->Title = $Model['Title'];
52 $this->Models[$SysName] = $NewModelDef;
53 }
54
55 function UnregisterModel($SysName)
56 {
57 unset($this->Models[$SysName]);
58 }
59
60 function Run()
61 {
62
63 }
64}
Note: See TracBrowser for help on using the repository browser.