Роутер воспринимает URL вида class/action/param/123/param/1234 и т.д.
Т.е. я должен проверить четность введенного URL(при разделении на массив), если он нечетный, то выдать контроллер 404
Потом проверить есть ли нужный класс, если такого нет, выдать контроллер 404.
Потом проверить есть ли нужный метод класса, если такого нет, вызвать контроллер 404.
Какую конструкцию при этих условиях использовать?
try {
//тут проводим проверку на четность URL
//если не проходит, то
throw new Exception('не все параметры введены');
//далее подключаем нужный класс, если он есть
if(file_exist(путь к файлу)){
$startController = new $nameController();
}else throw new Exception('такого класса нет');
//проверяем наличие метода в классе
if(metod_exist($startController, $nameAction)){
$startController -> $nameAction($params);
}else throw new Exception('такого метода нет');
//если поймали исключение, то
} catch (Exception $e) {
$startController = new error404();
$startController -> index();
}
Норм делать так?
хочу услышать мнения...