dbeb75a49db1ce25824d4e3c1e27bcc907856e39
[core.git] / inc / classes.php
1 <?php
2 /**
3  * Load required framework classes first
4  *
5  * @author              Roland Haeder <webmaster@ship-simu.org>
6  * @version             0.0
7  * @copyright   Copyright (c) 2007 - 2009 Roland Haeder, this is free software
8  * @license             GNU GPL 3.0 or any newer version
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23
24 // Lower framework classes
25 $lowerClasses = array(
26         0 => 'exceptions', // Exceptions
27         1 => 'interfaces', // Interfaces
28         2 => 'main',       // General main classes
29         3 => 'middleware'  // The middleware
30 );
31
32 // Load all classes
33 foreach ($lowerClasses as $className) {
34         // Try to load the framework classes
35         try {
36                 ClassLoader::getInstance()->scanClassPath(sprintf("inc/classes/%s/", $className));
37         } catch (PathIsNoDirectoryException $e) {
38                 ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path <span class=\"exception_data\">%s</span> for the follwing reason: <span class=\"exception_reason\">%s</span>",
39                         $className,
40                         $e->getMessage()
41                 ));
42         } catch (PathIsEmptyException $e) {
43                 ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path <span class=\"exception_data\">%s</span> for the follwing reason: <span class=\"exception_reason\">%s</span>",
44                         $className,
45                         $e->getMessage()
46                 ));
47         } catch (PathReadProtectedException $e) {
48                 ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path <span class=\"exception_data\">%s</span> for the follwing reason: <span class=\"exception_reason\">%s</span>",
49                         $className,
50                         $e->getMessage()
51                 ));
52         } catch (DirPointerNotOpenedException $e) {
53                 ApplicationEntryPoint::app_die(sprintf("[Main:] Could not load framework classes from path <span class=\"exception_data\">%s</span> for the follwing reason: <span class=\"exception_reason\">%s</span>",
54                         $className,
55                         $e->getMessage()
56                 ));
57         }
58 }
59
60 // Clean up the global namespace
61 unset($lowerClasses[3]); // Applications shall not have any middleware
62 unset($className);
63
64 ////// Until here the framework classes are loaded //////
65
66 // [EOF]
67 ?>