Added example local configuration file
[core.git] / inc / loader / class_ClassLoader.php
index 18b9244c65111d93ee66cff96003bcc7f8b0fc26..7c9afa937f31af5e32c55b20769e6aa18dc34791 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.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 - 2012 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.ship-simu.org
  *
  * 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
- *  - Added initLoader(), $configInstance renamed to $configInstance
+ *  - Added initLoader()
  * 1.2
  *  - ClassLoader rewritten to PHP SPL's own RecursiveIteratorIterator class
  * 1.1
@@ -72,7 +74,7 @@ class ClassLoader {
        private $debug = false;
 
        /**
-        * Wether the file list is cached or not
+        * Whether the file list is cached
         */
        private $listCached = false;
 
@@ -98,12 +100,12 @@ class ClassLoader {
 
        /**
         * The protected constructor. Please use the factory method below, or use
-        * getInstance() for singleton
+        * getSelfInstance() for singleton
         *
         * @return      void
         */
        protected function __construct () {
-               // Is Currently empty
+               // Is currently empty
        }
 
        /**
@@ -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) {
@@ -179,7 +181,9 @@ class ClassLoader {
                self::$selfInstance = $this;
 
                // Skip here if no dev-mode
-               if (defined('DEVELOPER')) return;
+               if (defined('DEVELOPER')) {
+                       return;
+               } // END - if
 
                // IS the cache there?
                if (file_exists($this->listCacheFQFN)) {
@@ -211,19 +215,19 @@ class ClassLoader {
         */
        public static function autoLoad ($className) {
                // Try to include this class
-               self::getInstance()->includeClass($className);
+               self::getSelfInstance()->includeClass($className);
        }
 
        /**
-        * Getter for an instance of this class
+        * Singleton getter for an instance of this class
         *
-        * @return      $selfInstance           An instance of this class
+        * @return      $selfInstance   A singleton instance of this class
         */
-       public static final function getInstance () {
+       public static final function getSelfInstance () {
                // Is the instance there?
                if (is_null(self::$selfInstance)) {
                        // Get a new one
-                       self::$selfInstance = ClassLoader::createClassLoader(FrameworkConfiguration::getInstance());
+                       self::$selfInstance = ClassLoader::createClassLoader(FrameworkConfiguration::getSelfInstance());
                } // END - if
 
                // Return the instance
@@ -244,8 +248,11 @@ class ClassLoader {
                        return;
                } // END - if
 
-               // Directories which our class loader ignores by default while
-               // deep-scanning the directory structure.
+               /*
+                * Directories which this class loader ignores by default while
+                * scanning the whole directory structure starting from given base
+                * path.
+                */
                $ignoreList[] = '.';
                $ignoreList[] = '..';
                $ignoreList[] = '.htaccess';
@@ -254,15 +261,17 @@ class ClassLoader {
                // 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) {
                        /* @todo: Do not die here. */
-                       die('Cannot read ' . $basePath . ' !');
+                       exit(__METHOD__ . ':Cannot read ' . $basePath . ' !');
                } else {
                        // Set base path
                        $basePath = $basePath2;
@@ -310,7 +319,7 @@ class ClassLoader {
                // Include these extra configs now
                $this->includeExtraConfigs();
 
-               // Set the prefix back
+               // Set back the old prefix
                $this->prefix = $oldPrefix;
        }
 
@@ -387,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