$c = new $controller(); $req = array_values($req); $c->run($req); } } else { //в запросе более ничего нет - вызываем метод контроллера по-умолчанию и суем ему пустой массив в кач. аргуметна $c = new $controller(); $c->run(array()); } } else { //это был не контроллер if (method_exists('home', $req[0])) { //это метод контроллера home $method = $req[0]; unset($req[0]); $req = array_values($req); $i = new home(); $i->{$method}($req); //передаем методу оставшиеся куски запроса } else { //это не метод home() - передаем запрос контроллеру по умолчанию и суем ему оставшиеся данные $i = new home(); $req = array_values($req); $i->run($req); } } } else { //в запросе нет ничего - вызываем индекс с методом по умолчанию $c = new home(); $c->run(array()); }