]> git.mxchange.org Git - hub.git/blob - application/hub/loader.php
Code base merged from ship-simu repos
[hub.git] / application / hub / loader.php
1 <?php
2 /**
3  * The application's class loader
4  *
5  * @author              Roland Haeder <webmaster@ship-simu.org>
6  * @version             0.0
7  * @copyright   Copyright(c) 2007, 2008 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 // Is the instance variable set?
25 if (!isset($application)) {
26         // We need this!
27         ApplicationEntryPoint::app_die("[Main:] Interne Variable <strong>application</strong> nicht gefunden!");
28 }
29
30 // Load all classes for the application
31 foreach ($lowerClasses as $class) {
32         // Try to load the application classes
33         try {
34                 ClassLoader::getInstance()->loadClasses(sprintf("%s/%s/%s", FrameworkConfiguration::getInstance()->readConfig("application_path"), $application, $class));
35         } catch (PathIsNoDirectoryException $e) {
36                 ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
37                         $class,
38                         $e->getMessage()
39                 ));
40         } catch (PathIsEmptyException $e) {
41                 ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
42                         $class,
43                         $e->getMessage()
44                 ));
45         } catch (PathReadProtectedException $e) {
46                 ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
47                         $class,
48                         $e->getMessage()
49                 ));
50         } catch (DirPointerNotOpenedException $e) {
51                 ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
52                         $class,
53                         $e->getMessage()
54                 ));
55         }
56 }
57
58 // Clean up the global namespace
59 unset($lowerClasses);
60 unset($class);
61
62 // [EOF]
63 ?>