Autoloader

This commit is contained in:
JonatanRek 2020-04-21 13:55:11 +02:00
parent 74c6426500
commit 28490f5d67
1 changed files with 34 additions and 1 deletions

View File

@ -1,6 +1,39 @@
<?php
// import autoload
//Autoloader
Class Autoloader {
protected static $extension = ".php";
protected static $root = __DIR__;
protected static $files = [];
static function ClassLoader ($className = ""){
$directorys = new RecursiveDirectoryIterator(static::$root, RecursiveDirectoryIterator::SKIP_DOTS);
//echo '<pre>';
//var_dump($directorys);
//echo '</pre>';
$files = new RecursiveIteratorIterator($directorys, RecursiveIteratorIterator::LEAVES_ONLY);
$filename = $className . static::$extension;
foreach ($files as $key => $file) {
if (strtolower($file->getFilename()) === strtolower($filename) && $file->isReadable()) {
include_once $file->getPathname();
break;
}
}
}
static function setRoot($rootPath){
static::$root = $rootPath;
}
}
Autoloader::setRoot('/var/www/dev.steelants.cz/vasek/home-update/');
spl_autoload_register("Autoloader::ClassLoader");
// import routes
require_once './Routes.php';