--- /dev/null
+<?php
+/**
+ * Load framework classes first
+ *
+ * @author Roland Haeder <webmaster@ship-simu.org>
+ * @version 0.0
+ * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
+ * @license GNU GPL 3.0 or any newer version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Lower framework classes
+$lowerClasses = array(
+ 0 => "exceptions", // Exceptions
+ 1 => "interfaces", // Interfaces
+ 2 => "main", // General main classes
+ 3 => "middleware" // The middleware
+);
+
+// Load all classes
+foreach ($lowerClasses as $class) {
+ // Try to load the framework classes
+ try {
+ ClassLoader::getInstance()->loadClasses(sprintf("inc/classes/%s/", $class));
+ } catch (PathIsNoDirectoryException $e) {
+ ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Framework-Klassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
+ $class
+ ));
+ } catch (PathIsEmptyException $e) {
+ ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Framework-Klassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
+ $class
+ ));
+ } catch (PathReadProtectedException $e) {
+ ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Framework-Klassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
+ $class
+ ));
+ } catch (DirPointerNotOpenedException $e) {
+ ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Framework-Klassen im Pfad <strong>%s</strong> nicht laden. Reason: <strong>%s</strong>",
+ $class
+ ));
+ }
+}
+
+// Include all classes
+ClassLoader::getInstance()->includeAllClasses();
+
+// Clean up the global namespace
+unset($lowerClasses[3]); // Applications shall not have any middleware
+unset($class);
+
+////// Until here the framework classes are loaded //////
+
+// [EOF]
+?>