Файл: inc/Loader.php
Строк: 20
<?php
// Основной класс инициализации.
Class Loader
{
public static $navMap = array(); // Роуты.
public static $stVersions = array(); // Версии статики.
public static $stTypes = array(); // Загрузка для js по папкам.
public static $curStatic; // Текущая статика.
// Автоматический поиск статики и инициализация нужного контроллера.
public static function init($className) {
$curUrl = basename($_SERVER['REQUEST_URI']);
Loader::$curStatic = Loader::getStaticFile($curUrl);
$className = ucfirst(substr(basename($className), 0, -4));
new $className();
}
// Нахождения нужной статики.
public static function getStaticFile($curUrl) {
if (!empty($curUrl)) {
$phpFile = preg_match('/^[a-z0-9-_]+.php$/i', $curUrl);
foreach (Loader::$navMap as $i=>$v) {
if ($i[0] == '<') continue;
if ($phpFile) {
if($v[0] === $curUrl)
return $v[1];
} else {
$m = preg_match('/'.str_replace('/', '/', $i).'/i', $curUrl);
if ($m)
return $v[1];
}
}
return Loader::$navMap['<other>'][1];
}
return Loader::$navMap['<void>'][1];
}
}