mirror of
https://github.com/php/php-src.git
synced 2025-08-20 01:14:28 +02:00
63 lines
No EOL
1.1 KiB
PHP
63 lines
No EOL
1.1 KiB
PHP
<?php
|
|
|
|
|
|
gtAutoload::init();
|
|
|
|
/**
|
|
* Autoloader using a map file (gtClassMap.php)
|
|
* defining the file to load each class from.
|
|
*/
|
|
class gtAutoload
|
|
{
|
|
/**
|
|
* @var array
|
|
*/
|
|
protected static $classMap;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected static $classPath;
|
|
|
|
|
|
/**
|
|
* Initialize the autoloader
|
|
*
|
|
* @return null
|
|
*/
|
|
public static function init()
|
|
{
|
|
self::$classPath = dirname(__FILE__);
|
|
|
|
if (substr(self::$classPath, -1) != '/') {
|
|
self::$classPath .= '/';
|
|
}
|
|
|
|
if (file_exists(self::$classPath . 'gtClassMap.php')) {
|
|
include self::$classPath . 'gtClassMap.php';
|
|
self::$classMap = $gtClassMap;
|
|
}
|
|
|
|
if (function_exists('__autoload')) {
|
|
spl_autoload_register('__autoload');
|
|
}
|
|
|
|
spl_autoload_register(array('gtAutoload', 'autoload'));
|
|
}
|
|
|
|
|
|
/**
|
|
* Autoload method
|
|
*
|
|
* @param string $class Class name to autoload
|
|
* @return null
|
|
*/
|
|
public static function autoload($class)
|
|
{
|
|
if (isset(self::$classMap[$class])) {
|
|
include self::$classPath . self::$classMap[$class];
|
|
}
|
|
}
|
|
}
|
|
|
|
?>
|