Есть условный массив, в котором есть название функции и ссылка для запуска.
Логика работы.
Заходим на сайт, на главную, открывается главная.
Дописываем /login, бросает на login.
Дописываем в конце абаркадабру и видим ошибку 404.
Как сделать такое? Кусок кода вот:
public function display($routes) {
$path = $this->getRequestPath();
$callf = new RouterPaths();
foreach ($routes as $key => $value) {
//if ($path === $value) {
if ($routes[$key] == $path) {
if (method_exists($callf, $key)) {
$callf->$key();
} else {
echo 'ERROR: Фатальная ошибка, не найдена функция, выход.';
exit;
}
}
}
}
Я никак не могу прикрутить сюда функцию ошибки, foreach всё перебирает, и в итоге если я добавляю в любом условии else, elseif то дописывается 404 в конце, либо ничего не открывается (везде наоборот 404) кроме главной, а на главной в конце 404...
Сейчас в этом коде нет обработки линка, ну или пути, который не определён в массиве и у него нет функции.
Логика работы.
Заходим на сайт, на главную, открывается главная.
Дописываем /login, бросает на login.
Дописываем в конце абаркадабру и видим ошибку 404.
Как сделать такое? Кусок кода вот:
public function display($routes) {
$path = $this->getRequestPath();
$callf = new RouterPaths();
foreach ($routes as $key => $value) {
//if ($path === $value) {
if ($routes[$key] == $path) {
if (method_exists($callf, $key)) {
$callf->$key();
} else {
echo 'ERROR: Фатальная ошибка, не найдена функция, выход.';
exit;
}
}
}
}
Я никак не могу прикрутить сюда функцию ошибки, foreach всё перебирает, и в итоге если я добавляю в любом условии else, elseif то дописывается 404 в конце, либо ничего не открывается (везде наоборот 404) кроме главной, а на главной в конце 404...
Сейчас в этом коде нет обработки линка, ну или пути, который не определён в массиве и у него нет функции.