*
* @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
/**
* 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
} // 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) {
}
/**
- * 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) {
$this->classes = unserialize($cacheContent);
// List has been restored from cache!
- $this->listCached = true;
+ $this->listCached = TRUE;
} // END - if
// Does the class cache exist?
require($this->classCacheFQFN);
// Mark the class cache as loaded
- $this->classesCached = true;
+ $this->classesCached = TRUE;
} // END - if
}
/**
* 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?
*/
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 ($basePath2 === FALSE) {
/* @todo: Do not die here. */
- die('Cannot read ' . $basePath . ' !');
+ exit(__METHOD__ . ':Cannot read ' . $basePath . ' !');
} else {
// Set base path
$basePath = $basePath2;
// Include these extra configs now
$this->includeExtraConfigs();
- // Set the prefix back
+ // Set back the old prefix
$this->prefix = $oldPrefix;
}
$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]);
// Developer mode excludes caching (better debugging)
if (!defined('DEVELOPER')) {
// Reset cache
- $this->classesCached = false;
+ $this->classesCached = FALSE;
} // END - if
} // END - if
}
// 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