]> git.mxchange.org Git - core.git/blobdiff - inc/loader/class_ClassLoader.php
Copyright updated
[core.git] / inc / loader / class_ClassLoader.php
index dbba1ff1139e9ad37d73e6decba8faa95a5c63e2..e15f52d4b65f6eb79fa2b60a6762404e7ff4b7e2 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, this is free software
+ * @copyright  Copyright (c) 2007 - 2009 Roland Haeder, this is free software
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.ship-simu.org
  *
@@ -303,8 +303,8 @@ class ClassLoader {
                $fileName = $this->prefix . $className . $this->suffix;
 
                // Now look it up in our index
-               if (isset($this->classes[$fileName])) {
-                       // File is found so load it only once
+               if ((isset($this->classes[$fileName])) && (!in_array($this->classes[$fileName], $this->loadedClasses))) {
+                       // File is found and not loaded so load it only once
                        //* DEBUG: */ echo "LOAD: ".$fileName." - Start<br />\n";
                        require($this->classes[$fileName]);
                        //* DEBUG: */ echo "LOAD: ".$fileName." - End<br />\n";
@@ -315,6 +315,9 @@ class ClassLoader {
                        // Mark this class as loaded
                        $this->loadedClasses[] = $this->classes[$fileName];
 
+                       // Remove it from classes list
+                       unset($this->classes[$fileName]);
+
                        // Developer mode excludes caching (better debugging)
                        if (!defined('DEVELOPER')) {
                                // Reset cache