<?php
class router
{
public function __construct()
{
$url = htmlspecialchars($_SERVER['REQUEST_URI']);
$url = explode("?", $url);
$url = rtrim($url[0], '/');
$exp = explode('/', $url);
$controller = (!empty($exp[1])?$exp[1]:'main');
$method = (!empty($exp[2])?$exp[2]:'index');
if(isset($exp[3]))
{
for($s=3;$s<count($exp);$s++)
{
$param .= $exp[$s].'/';
}
$param = rtrim($param, '/');
} else $param = false;
$controllers = ROOT.'/app/controllers/'.$controller.'.php';
if(file_exists($controllers))
{
$class = new $controller();
if(method_exists($controller, $method))
{
$class->$method($param);
} else include_once NOT_FOUND;
} else include_once NOT_FOUND;
}
}
?>
есть ли замечания?
Сделал передачу параметров. Позже напишу небольшой класс для работы с параметрами. Всё ли я правильно сделал? Пример
http://perfwm.ru http://perfwm.ru/main/index/phpinfo . Ошибка not found, делал сам
,
http://perfwm.ru/main/phpinfo