*
* @author Roland Haeder <webmaster@ship-simu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007 - 2009 Roland Haeder, this is free software
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.ship-simu.org
*
/**
* Suffix with extension for all class files
*/
- private $prefix = "class_";
+ private $prefix = 'class_';
/**
* Suffix with extension for all class files
*/
- private $suffix = ".php";
+ private $suffix = '.php';
/**
* A list for directory names (no leading/trailing slashes!) which not be scanned by the path scanner
* @param $configInstance Configuration class instance
* @return void
*/
- public final static function createClassLoader (FrameworkConfiguration $configInstance) {
+ public static final function createClassLoader (FrameworkConfiguration $configInstance) {
// Get a new instance
$loaderInstance = new ClassLoader();
// Construct the FQFN for the cache
if (!defined('DEVELOPER')) {
- $this->listCacheFQFN = $this->configInstance->readConfig('local_db_path') . "list-" . $this->configInstance->readConfig('app_name') . ".cache";
- $this->classCacheFQFN = $this->configInstance->readConfig('local_db_path') . "class-" . $this->configInstance->readConfig('app_name') . ".cache";
+ $this->listCacheFQFN = $this->configInstance->getConfigEntry('local_db_path') . 'list-' . $this->configInstance->getConfigEntry('app_name') . '.cache';
+ $this->classCacheFQFN = $this->configInstance->getConfigEntry('local_db_path') . 'class-' . $this->configInstance->getConfigEntry('app_name') . '.cache';
} // END - if
// Set suffix and prefix from configuration
- $this->suffix = $configInstance->readConfig('class_suffix');
- $this->prefix = $configInstance->readConfig('class_prefix');
+ $this->suffix = $configInstance->getConfigEntry('class_suffix');
+ $this->prefix = $configInstance->getConfigEntry('class_prefix');
// Set own instance
self::$selfInstance = $this;
*
* @return $selfInstance An instance of this class
*/
- public final static function getInstance () {
+ public static final function getInstance () {
// Is the instance there?
if (is_null(self::$selfInstance)) {
// Get a new one
*/
public function __destruct () {
// Skip here if dev-mode
- if (defined('DEVELOPER')) return;
+ if (defined('DEVELOPER')) {
+ return;
+ } // END - if
// Skip here if already cached
if ($this->listCached === false) {
} // END - if
}
- /**
- * Fall-back method. Please replace loadClasses() with scanClassPath() !
- *
- * @param $basePath The relative base path to 'base_path' constant for all classes
- * @param $ignoreList An optional list (array forced) of directory and file names which shall be ignored
- * @return void
- * @deprecated
- * @todo Rewrite your apps to scanClassPath()
- */
- public function loadClasses ($basePath, array $ignoreList = array() ) {
- // This outputs an ugly message because you need to change to scanClassPath
- print __METHOD__." is deprecated. Use scanClassPath() to make this warning go away.<br />\n";
-
- // Call our new method
- $this->scanClassPath($basePath, $ignoreList);
- }
-
/**
* Scans recursively a local path for class files which must have a prefix and a suffix as given by $this->suffix and $this->prefix
*
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";
+ $ignoreList[] = '.';
+ $ignoreList[] = '..';
+ $ignoreList[] = '.htaccess';
+ $ignoreList[] = '.svn';
// Keep it in class for later usage
$this->ignoreList = $ignoreList;
// If the basePath is false it is invalid
if ($basePath2 === false) {
/* @todo: Do not die here. */
- die("Cannot read {$basePath} !");
+ die('Cannot read ' . $basePath . ' !');
} else {
// Set base path
$basePath = $basePath2;
// Get filename from iterator
$fileName = $entry->getFileName();
+ // Get the FQFN and add it to our class list
+ $fqfn = $entry->getRealPath();
+
// Is this file wanted?
//* DEBUG: */ echo "FOUND:{$fileName}<br />\n";
- if ((!in_array($fileName, $this->ignoreList)) && (substr($fileName, 0, strlen($this->prefix)) == $this->prefix) && (substr($fileName, -strlen($this->suffix), strlen($this->suffix)) == $this->suffix)) {
- // Get the FQFN and add it to our class list
- $fqfn = $entry->getRealPath();
+ if ((!in_array($fileName, $this->ignoreList)) && (filesize($fqfn) > 100) && (substr($fileName, 0, strlen($this->prefix)) == $this->prefix) && (substr($fileName, -strlen($this->suffix), strlen($this->suffix)) == $this->suffix)) {
//* DEBUG: */ echo "ADD: {$fileName}<br />\n";
+ // Add it to the list
$this->classes[$fileName] = $fqfn;
} // END - if
} // END - foreach
$oldPrefix = $this->prefix;
// Set new prefix (temporary!)
- $this->prefix = "config-";
+ $this->prefix = 'config-';
// Set base directory
- $basePath = sprintf("%sinc/config/", $this->configInstance->readConfig('base_path'));
+ $basePath = $this->configInstance->getConfigEntry('base_path') . 'inc/config/';
// Load all classes from the config directory
$this->scanClassPath($basePath);