<?php
class Route{
public function run(){
$uri = explode('/', $_SERVER['REQUEST_URI']);
$controller = isset($uri[1]) ? strtolower($uri[1]).'Controller' : 'indexController';
$action = isset($uri[2]) ? strtolower($uri[2]).'Action' : 'indexAction';
if(file_exists('app/controllers/'.$controller.'.php')){
if(class_exists($controller)){
$controller = new $controller;
if(method_exists($controller, $action)){
$controller->$action();
}
}
}
else{
$host = 'http://'.$_SERVER['HTTP_HOST'].'/';
header('HTTP/1.1 404 Not Found');
header("Status: 404 Not Found");
header('Location:'.$host.'404');
}
}
}
index.php :
<?php
include('app/core/route.php');
$route = new Route;
$route->run();
function __autoload($className){
include('app/controllers/'.$className.".php");
}
контроллер:
<?php
class 404Controller{
public function indexAction(){
echo "404";
}
}
выходит циклическая переадресация, т.е контроллер не находит. почему так?
все на месте...