diff --git a/autoload.inc.php b/autoload.inc.php index fb323bb..10c2b79 100644 --- a/autoload.inc.php +++ b/autoload.inc.php @@ -5,34 +5,33 @@ require_once dirname(__FILE__).'/system/autoload.php'; //autoload hook -> refers to autoload class singleton function __autoload_system($class_name) { - return system\autoload::getInstance()->autoload($class_name); + return system\autoload::autoload($class_name); } //Register autoload spl_autoload_register('__autoload_system'); //Register system classes -$autoload = \SYSTEM\autoload::getInstance(); -$autoload->registerFolder(dirname(__FILE__).'/system','SYSTEM'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/system','SYSTEM'); -$autoload->registerFolder(dirname(__FILE__).'/log/result','SYSTEM\LOG'); -$autoload->registerFolder(dirname(__FILE__).'/log','SYSTEM\LOG'); -$autoload->registerFolder(dirname(__FILE__).'/log/exceptions','SYSTEM\LOG'); -$autoload->registerFolder(dirname(__FILE__).'/log/error_handler','SYSTEM\LOG'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/log/result','SYSTEM\LOG'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/log','SYSTEM\LOG'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/log/exceptions','SYSTEM\LOG'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/log/error_handler','SYSTEM\LOG'); -$autoload->registerFolder(dirname(__FILE__).'/api','SYSTEM\API'); -$autoload->registerFolder(dirname(__FILE__).'/page','SYSTEM\PAGE'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/api','SYSTEM\API'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/page','SYSTEM\PAGE'); -$autoload->registerFolder(dirname(__FILE__).'/dbd/tbl/','SYSTEM\DBD'); -$autoload->registerFolder(dirname(__FILE__).'/db','SYSTEM\DB'); -$autoload->registerFolder(dirname(__FILE__).'/db/dbinfo','SYSTEM\DB'); -$autoload->registerFolder(dirname(__FILE__).'/db/connection','SYSTEM\DB'); -$autoload->registerFolder(dirname(__FILE__).'/db/result','SYSTEM\DB'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/dbd/tbl/','SYSTEM\DBD'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/db','SYSTEM\DB'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/db/dbinfo','SYSTEM\DB'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/db/connection','SYSTEM\DB'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/db/result','SYSTEM\DB'); -$autoload->registerFolder(dirname(__FILE__).'/security','SYSTEM\SECURITY'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/security','SYSTEM\SECURITY'); -$autoload->registerFolder(dirname(__FILE__).'/config','SYSTEM\CONFIG'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/config','SYSTEM\CONFIG'); -$autoload->registerFolder(dirname(__FILE__).'/cache','SYSTEM\CACHE'); +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/cache','SYSTEM\CACHE'); -$autoload->registerFolder(dirname(__FILE__).'/sai','SYSTEM\SAI'); \ No newline at end of file +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/sai','SYSTEM\SAI'); \ No newline at end of file diff --git a/log/register_exception_shortcut.php b/log/register_exception_shortcut.php index 8f8593c..1e0f90e 100644 --- a/log/register_exception_shortcut.php +++ b/log/register_exception_shortcut.php @@ -1,2 +1,2 @@ registerFolder(dirname(__FILE__).'/exceptions_shortcut',''); \ No newline at end of file +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/exceptions_shortcut',''); \ No newline at end of file diff --git a/log/register_result_shortcut.php b/log/register_result_shortcut.php index 88667c2..9c7b0fb 100644 --- a/log/register_result_shortcut.php +++ b/log/register_result_shortcut.php @@ -1,2 +1,2 @@ registerFolder(dirname(__FILE__).'/result_shortcut',''); \ No newline at end of file +\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/result_shortcut',''); \ No newline at end of file diff --git a/sai/autoload.inc.php b/sai/autoload.inc.php index 2da55ee..15929c5 100644 --- a/sai/autoload.inc.php +++ b/sai/autoload.inc.php @@ -1,21 +1,19 @@ registerFolder(dirname(__FILE__).'/sai','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/page','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/page/default_page','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/page/default_module','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/page','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/page/default_page','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/page/default_module','SYSTEM\SAI'); - -$autoload->registerFolder(dirname(__FILE__).'/modules','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_sai','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_login','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_log','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_security','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_mod','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_config','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_calls','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_locale','SYSTEM\SAI'); -$autoload->registerFolder(dirname(__FILE__).'/modules/saimod_sys_cache','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_sai','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_login','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_log','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_security','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_mod','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_config','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_calls','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_locale','SYSTEM\SAI'); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_cache','SYSTEM\SAI'); require_once dirname(__FILE__).'/modules/register_modules.php'; \ No newline at end of file diff --git a/system/autoload.php b/system/autoload.php index a65e15d..14b66d4 100644 --- a/system/autoload.php +++ b/system/autoload.php @@ -4,26 +4,16 @@ namespace SYSTEM; class autoload { - private $files = array(); // array(class, namespace, file) - private $folders = array(); // array(namespace, folder) + private static $files = array(); // array(class, namespace, file) + private static $folders = array(); // array(namespace, folder) - //SINGLETON! - static private $instance = null; - static public function getInstance(){ - if (null === self::$instance) { - self::$instance = new self;} - return self::$instance; - } - private function __construct(){} - private function __clone(){} - - private function getClassFromFile($file){ + private static function getClassFromFile($file){ $path_info = \pathinfo($file); return $path_info['filename']; } - private function getClassNamespaceFromClass($class){ + private static function getClassNamespaceFromClass($class){ $path_info = \pathinfo($class); $lastslash = \strrpos($class, 92); @@ -37,15 +27,15 @@ class autoload { \substr($class, 0, $lastslash)); } - private function autoload_($class, $namespace = ''){ - foreach($this->files as $file){ + private static function autoload_($class, $namespace = ''){ + foreach(self::$files as $file){ if(strtolower($file[0]) == strtolower($class) && strtolower($file[1]) == strtolower($namespace)){ require_once $file[2]; return true;} } - foreach($this->folders as $folder){ + foreach(self::$folders as $folder){ if(strtolower($folder[0]) == strtolower($namespace) && is_file($folder[1].'/'.$class.'.php')){ require_once $folder[1].'/'.$class.'.php'; @@ -55,23 +45,23 @@ class autoload { return false; } - public function registerFile($file, $namespace = ''){ + public static function registerFile($file, $namespace = ''){ if(!is_file($file)){ throw new \Exception('File not found on registerFile for Autoload: '.$file);} - $this->files[] = array($this->getClassFromFile($file), $namespace, $file); + self::$files[] = array(self::getClassFromFile($file), $namespace, $file); } - public function registerFolder($folder, $namespace = ''){ + public static function registerFolder($folder, $namespace = ''){ if(!is_dir($folder)){ throw new \Exception('Folder not found on registerFolder for Autoload: '.$folder);} - $this->folders[] = array($namespace, $folder); + self::$folders[] = array($namespace, $folder); } - public function autoload($class){ - $classns = $this->getClassNamespaceFromClass($class); + public static function autoload($class){ + $classns = self::getClassNamespaceFromClass($class); - return $this->autoload_($classns[0],$classns[1]); + return self::autoload_($classns[0],$classns[1]); } } \ No newline at end of file