26 lines
		
	
	
		
			714 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			714 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
class Autoloader {
 | 
						|
	private static $autoloaderData = array();
 | 
						|
	
 | 
						|
	public static function addLoadPath( $dir ) {
 | 
						|
		array_unshift( self::$autoloaderData, $dir);
 | 
						|
	}
 | 
						|
	public static function getPathByClassName($className) {
 | 
						|
		$className = str_replace( array('/','\\') , array('','') ,  $className );
 | 
						|
		$file = NULL;
 | 
						|
		if( self::$autoloaderData ){
 | 
						|
			foreach (self::$autoloaderData as $path  ) {
 | 
						|
				if( is_file( $path.'/'.$className.'.class.php' ) ){
 | 
						|
					return $path.'/'.$className.'.class.php';
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
function engine_autoload($class_name) {
 | 
						|
	$path = Autoloader::getPathByClassName($class_name);
 | 
						|
	if( $path ){
 | 
						|
		require($path);
 | 
						|
	}
 | 
						|
}
 | 
						|
spl_autoload_register("engine_autoload"); |