<?php
class Route {
private $class;
private $action;
/* маршрутизатор */
public function getRoute($RouteGet) {
$this->Controller = $exp[0];
$this->Action = $exp[1];
}
/* роутинг */
public function runRoute() {
$class = $this->Controller;
$action = $this->Action;
$file = CONTROLLER.$class.'.php';
$class = 'frontpage';
$action = 'main';
} require_once $file;
$controller = new $class;
$action = 'main';
} $controller->$action();
}
/* старт роутера */
public function startRoute() {
$file = CONTROLLER.$this->Controller.'.php';
$this->Controller = 'frontpage';
$this->Action = 'main';
$this->runRoute();
$this->Controller = 'frontpage';
$this->Action = 'main';
$this->runRoute();
$this->runRoute();
}
}
PD9waHAKCmNsYXNzIFJvdXRlIHsKCglwcml2YXRlICRjbGFzczsKCXByaXZhdGUgJGFjdGlvbjsKCQoJLyog0LzQsNGA0YjRgNGD0YLQuNC30LDRgtC+0YAgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZXRSb3V0ZSgkUm91dGVHZXQpIHsKCQkkZXhwID0gZXhwbG9kZSgnLycsICRSb3V0ZUdldCk7CgkJJHRoaXMtPkNvbnRyb2xsZXIgPSAkZXhwWzBdOwoJCSR0aGlzLT5BY3Rpb24gPSAkZXhwWzFdOwoJfQoJCgkvKiDRgNC+0YPRgtC40L3QsyAqLwoJcHVibGljIGZ1bmN0aW9uIHJ1blJvdXRlKCkgewoJCSRjbGFzcyA9ICR0aGlzLT5Db250cm9sbGVyOwoJCSRhY3Rpb24gPSAkdGhpcy0+QWN0aW9uOwoJCSRmaWxlID0gQ09OVFJPTExFUi4kY2xhc3MuJy5waHAnOwoJCQoJCWlmKCFmaWxlX2V4aXN0cygkZmlsZSkpIHsKCQkkY2xhc3MgPSAnZnJvbnRwYWdlJzsKCQkkYWN0aW9uID0gJ21haW4nOwoJCX0gcmVxdWlyZV9vbmNlICRmaWxlOwoJCQoJCSRjb250cm9sbGVyID0gbmV3ICRjbGFzczsKCQlpZihpc19jYWxsYWJsZShhcnJheSgkY29udHJvbGxlciwgJGFjdGlvbikpID09IGZhbHNlKSB7CgkJJGFjdGlvbiA9ICdtYWluJzsKCQl9ICRjb250cm9sbGVyLT4kYWN0aW9uKCk7Cgl9CgkKCS8qINGB0YLQsNGA0YIg0YDQvtGD0YLQtdGA0LAgKi8KCXB1YmxpYyBmdW5jdGlvbiBzdGFydFJvdXRlKCkgewoJCSRmaWxlID0gQ09OVFJPTExFUi4kdGhpcy0+Q29udHJvbGxlci4nLnBocCc7CgkJaWYoZW1wdHkoUk9VVEUpKXsKCQkkdGhpcy0+Q29udHJvbGxlciA9ICdmcm9udHBhZ2UnOwoJCSR0aGlzLT5BY3Rpb24gPSAnbWFpbic7CgkJJHRoaXMtPnJ1blJvdXRlKCk7CgkJZXhpdCgpOyB9CgkJaWYoIWZpbGVfZXhpc3RzKCRmaWxlKSl7CgkJJHRoaXMtPkNvbnRyb2xsZXIgPSAnZnJvbnRwYWdlJzsKCQkkdGhpcy0+QWN0aW9uID0gJ21haW4nOwoJCSR0aGlzLT5ydW5Sb3V0ZSgpOwoJCWV4aXQoKTsgfQoJCSR0aGlzLT5ydW5Sb3V0ZSgpOwoJfQp9