//! @note проверяем доступ session_start(); $authentication = isset($_SESSION['username']) ? true : false; /** *Загрузка классов «на лету» * *@param class className *Имя загружаемого класса */ spl_autoload_register(function ($className) { $filename = strtolower($className) . '.php'; $arrayPath = array('/bd/', '/core/', '/controllers/'); $mainPath = $GLOBALS["setting"]["SCRIPT_PATH"] . $GLOBALS["setting"]["CLASS_PATH"]; foreach ($arrayPath as $value) { $file = $mainPath . $value . $filename; // echo $file.'<br>'; if (file_exists($file) == true) { require_once $file; return true; } } return false; }); RouterLite::addRoute('', 'MainController/action_index'); RouterLite::addRoute('/index.php', 'MainController/action_index'); ///blog/:num RouterLite::addRoute('/login', 'Auth/login'); RouterLite::addRoute('/logout', 'Auth/logout'); RouterLite::addRoute('/pages/:num', 'MainController/action_view'); RouterLite::dispatch();
<link rel="stylesheet" type="text/css" href="/css/main.css" /> <link rel="stylesheet" type="text/css" href="/css/menu.css" /> <link rel="stylesheet" type="text/css" href="/css/pages.css" /> <link rel="stylesheet" type="text/css" href="/css/baner.css" /> <!-- <link rel="stylesheet" type="text/css" href="/css/debug.css" /> --> <link rel='icon' href='/images/favicon.png'> </head> <body> <div id="wrapper"> <div> <img class="logo" src="/images/logo.png" alt="ЦБС" /> <div class="logo"> Муниципальное казенное учреждение культуры "Здвинская ЦБС" </div> </div> <div class="menu"> <?php RouterLite::executeActionName("MenuController", "action_index"); ?> <!-- контейнер для меню --> </div> <div id="page"> <div class="cell"> <a href="/pages/17.html"><img class="baner" src="/upload/8ce5571989149e7de95b3e1c581c3fdf.png"></a> <a href="/pages/16.html"><img class="baner" src="/upload/dfbac93211c22cfb411ced610e56d66e.png"></a> <a href="/pages/18.html"><img class="baner" src="/upload/f3bf8143e3f1afad27f501bcc02b02db.png"></a> </div> <div class='pages cell'> <?php include $this->template_view . $content_view . '.php'; ?> </div> <div class="cell">
/** * Обработка переданного URL */ public static function dispatch($requestedUrl = null) { // Если URL не передан, берем его из REQUEST_URI if ($requestedUrl === null) { $uri = reset(explode('?', $_SERVER["REQUEST_URI"])); $requestedUrl = urldecode(rtrim($uri, '/')); } self::$requestedUrl = $requestedUrl; // если URL и маршрут полностью совпадают if (isset(self::$routes[$requestedUrl])) { self::$params = self::splitUrl(self::$routes[$requestedUrl]); return self::executeAction(); } //echo self::$routes[$requestedUrl]; //print_r(self::$routes); foreach (self::$routes as $route => $uri) { // Заменяем wildcards на рег. выражения if (strpos($route, ':') !== false) { $route = str_replace(':any', '(.+)', str_replace(':num', '([0-9]+)', $route)); } if (preg_match('#^' . $route . '$#', $requestedUrl)) { if (strpos($uri, '$') !== false && strpos($route, '(') !== false) { $uri = preg_replace('#^' . $route . '$#', $uri, $requestedUrl); } self::$params = self::splitUrl($uri); break; // URL обработан! } } print_r(self::$params); return self::executeAction(); }
public static function login() { $_SESSION['Auth'] = true; self::$auth = true; RouterLite::executeActionName("MainController", "action_index"); }