Copyright year updated, converted double->single quotes
[core.git] / inc / loader / class_ClassLoader.php
index ae5eb6fe08c8acf4f896ee09eead5550a74f3a06..b50f3695793a02ad453f559560646c522239b38e 100644 (file)
@@ -2,11 +2,11 @@
 /**
  * This class loads class include files with a specific prefix and suffix
  *
- * @author             Roland Haeder <webmaster@ship-simu.org>
+ * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2013 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
- * @link               http://www.ship-simu.org
+ * @link               http://www.shipsimu.org
  *
  * 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
@@ -22,6 +22,8 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  *
  * ----------------------------------
+ * 1.4
+ *  - Some comments improved, other minor improvements
  * 1.3
  *  - Constructor is now empty and factory method 'createClassLoader' is created
  *  - renamed loadClasses to scanClassPath
@@ -67,19 +69,19 @@ class ClassLoader {
        private $ignoreList = array();
 
        /**
-        * Debug this class loader? (true = yes, false = no)
+        * Debug this class loader? (TRUE = yes, FALSE = no)
         */
-       private $debug = false;
+       private $debug = FALSE;
 
        /**
-        * Wether the file list is cached or not
+        * Whether the file list is cached
         */
-       private $listCached = false;
+       private $listCached = FALSE;
 
        /**
         * Wethe class content has been cached
         */
-       private $classesCached = false;
+       private $classesCached = FALSE;
 
        /**
         * Filename for the list cache
@@ -118,14 +120,14 @@ class ClassLoader {
                } // END - if
 
                // Skip here if already cached
-               if ($this->listCached === false) {
+               if ($this->listCached === FALSE) {
                        // Writes the cache file of our list away
                        $cacheContent = serialize($this->classes);
                        file_put_contents($this->listCacheFQFN, $cacheContent);
                } // END - if
 
                // Skip here if already cached
-               if ($this->classesCached === false) {
+               if ($this->classesCached === FALSE) {
                        // Generate a full-cache of all classes
                        $cacheContent = '';
                        foreach ($this->loadedClasses as $fqfn) {
@@ -139,9 +141,9 @@ class ClassLoader {
        }
 
        /**
-        * Our renamed factory method
+        * Creates an instance of this class loader for given configuration instance
         *
-        * @param       $configInstance Configuration class instance
+        * @param       $configInstance         Configuration class instance
         * @return      void
         */
        public static final function createClassLoader (FrameworkConfiguration $configInstance) {
@@ -192,7 +194,7 @@ class ClassLoader {
                        $this->classes = unserialize($cacheContent);
 
                        // List has been restored from cache!
-                       $this->listCached = true;
+                       $this->listCached = TRUE;
                } // END - if
 
                // Does the class cache exist?
@@ -201,7 +203,7 @@ class ClassLoader {
                        require($this->classCacheFQFN);
 
                        // Mark the class cache as loaded
-                       $this->classesCached = true;
+                       $this->classesCached = TRUE;
                } // END - if
        }
 
@@ -219,7 +221,7 @@ class ClassLoader {
        /**
         * Singleton getter for an instance of this class
         *
-        * @return      $selfInstance           A singleton instance of this class
+        * @return      $selfInstance   A singleton instance of this class
         */
        public static final function getSelfInstance () {
                // Is the instance there?
@@ -241,30 +243,35 @@ class ClassLoader {
         */
        public function scanClassPath ($basePath, array $ignoreList = array() ) {
                // Is a list has been restored from cache, don't read it again
-               if ($this->listCached === true) {
+               if ($this->listCached === TRUE) {
                        // Abort here
                        return;
                } // END - if
 
-               // Directories which our class loader ignores by default while
-               // deep-scanning the directory structure.
-               $ignoreList[] = '.';
-               $ignoreList[] = '..';
-               $ignoreList[] = '.htaccess';
-               $ignoreList[] = '.svn';
+               /*
+                * Directories which this class loader ignores by default while
+                * scanning the whole directory structure starting from given base
+                * path.
+                */
+               array_push($ignoreList, '.');
+               array_push($ignoreList, '..');
+               array_push($ignoreList, '.htaccess');
+               array_push($ignoreList, '.svn');
 
                // Keep it in class for later usage
                $this->ignoreList = $ignoreList;
 
-               // Set base directory which holds all our classes, we should use an
-               // absolute path here so is_dir(), is_file() and so on will always
-               // find the correct files and dirs.
+               /*
+                * Set base directory which holds all our classes, we should use an
+                * absolute path here so is_dir(), is_file() and so on will always
+                * find the correct files and dirs.
+                */
                $basePath2 = realpath($basePath);
 
-               // If the basePath is false it is invalid
-               if ($basePath2 === false) {
+               // If the basePath is FALSE it is invalid
+               if ($basePath2 === FALSE) {
                        /* @todo: Do not die here. */
-                       die('Cannot read ' . $basePath . ' !');
+                       exit(__METHOD__ . ':Cannot read ' . $basePath . ' !');
                } else {
                        // Set base path
                        $basePath = $basePath2;
@@ -312,7 +319,7 @@ class ClassLoader {
                // Include these extra configs now
                $this->includeExtraConfigs();
 
-               // Set the prefix back
+               // Set back the old prefix
                $this->prefix = $oldPrefix;
        }
 
@@ -339,7 +346,7 @@ class ClassLoader {
                        $this->total++;
 
                        // Mark this class as loaded
-                       $this->loadedClasses[] = $this->classes[$fileName];
+                       array_push($this->loadedClasses, $this->classes[$fileName]);
 
                        // Remove it from classes list
                        unset($this->classes[$fileName]);
@@ -347,7 +354,7 @@ class ClassLoader {
                        // Developer mode excludes caching (better debugging)
                        if (!defined('DEVELOPER')) {
                                // Reset cache
-                               $this->classesCached = false;
+                               $this->classesCached = FALSE;
                        } // END - if
                } // END - if
        }
@@ -389,7 +396,7 @@ class ClassLoader {
                // Prepare the list
                $includeList = '';
                foreach ($this->loadedClasses as $classFile) {
-                       $includeList .= basename($classFile)."<br />\n";
+                       $includeList .= basename($classFile) . '<br />' . PHP_EOL;
                } // END - foreach
 
                // And return it