Files
2026-10-18 19:27:17 -04:00

50 lines
1000 B
PHP

<?php
Base_Autoloader::Register();
// ================
// Autoloader Class
// ================
class Base_Autoloader {
public static function Register() {
if (function_exists("__autoload")) {
spl_autoload_register("__autoload");
}
return spl_autoload_register(array("Base_Autoloader", "Load"), true, true);
}
public static function Load($pClassName) {
if (class_exists($pClassName, false)) {
return false;
}
if (!preg_match('/\A[A-Za-z_][A-Za-z0-9_]*\z/', $pClassName)) return false;
// Try for a "classes" Class first, then a "reports" Class.
$pClassFilePath = __DIR__ . "/{$pClassName}.php";
if ((file_exists($pClassFilePath) === false) || (is_readable($pClassFilePath) === false)) {
$pClassFilePath = __DIR__ . "/../reports/{$pClassName}.php";
if ((file_exists($pClassFilePath) === false) || (is_readable($pClassFilePath) === false)) {
return false;
}
}
require($pClassFilePath);
}
}
?>