<?phpnamespace extend;
class Autoload
{
private static $Custom = [
'Medoo\DB\SQL' => [
'lib/medoo/config.php',
'lib/medoo/Medoo.php'
],
'lib\AppStore\AppList' => 'lib/AppStore/AppOperation.php',
'extend\ImgThumbnail' => 'extend/GoodsImage.php',
'Curl\Curl' => 'Curl.php',
'BT\Config' => 'lib/BT/config.php',
'BT\Construct' => 'lib/BT/construct.php',
'BT\monitoring' => 'lib/BT/monitoring.php',
'FC\Captcha' => 'lib/VerCode/Captcha.php',
'FC\GIF\GIFEncoder' => 'lib/VerCode/GIFEncoder.php',
'Admin\Admin' => 'Admin.php',
'Server\Server' => 'Server.php',
'QRcode' => 'extend/phpqrcode.php',
];
public static function AutoloadRegister()
{
$Data = [];
foreach (self::$Custom as $key => $value) {
$keys = str_replace('\\', DIRECTORY_SEPARATOR, $key);
if (is_array($value)) {
$arr = [];
foreach ($value as $k => $v) {
$arr[$k] = str_replace('/', DIRECTORY_SEPARATOR, $v);
}
$Data[$keys] = $arr;
unset($arr);
} else {
$Data[$keys] = str_replace('/', DIRECTORY_SEPARATOR, $value);
}
}
self::$Custom = $Data;
unset($Data);
spl_autoload_register([new self(), 'Autoload']);
}
public static function Autoload($Name)
{
$Name = str_replace('\\', DIRECTORY_SEPARATOR, $Name);
$Ex = explode(DIRECTORY_SEPARATOR, $Name);
if (array_key_exists($Name, self::$Custom)) {
$path = self::$Custom[$Name];
if (is_array($path)) {
foreach ($path as $value) {
if (is_file(SYSTEM_ROOT . $value)) {
require_once(SYSTEM_ROOT . $value);
}
}
} else {
require_once(SYSTEM_ROOT . $path);
}
} else if (is_file(SYSTEM_ROOT . $Name . '.php')) {
require_once(SYSTEM_ROOT . $Name . '.php');
} else if (count($Ex) === 2 && $Ex[0] === 'lib' && is_file(SYSTEM_ROOT . 'lib' . DIRECTORY_SEPARATOR . 'soft' . DIRECTORY_SEPARATOR . 'controller' . DIRECTORY_SEPARATOR . $Ex[1] . DIRECTORY_SEPARATOR . 'index.php')) {
require_once(SYSTEM_ROOT . 'lib' . DIRECTORY_SEPARATOR . 'soft' . DIRECTORY_SEPARATOR . 'controller' . DIRECTORY_SEPARATOR . $Ex[1] . DIRECTORY_SEPARATOR . 'index.php');
} else {
return false;
}
return true;
}
}