Проблема с условием определения post и get запроса

Всем привет!

Проблема возникает при прописании условий в папке аpp/Services/Router.php , получается там я разделяю get запрос от post запроса происходит что то не то и код не срабатывает. Помогите пожалуйста, найти ошибку в коде.

public static function enable()
{
    $query = $_GET['q'];
    foreach (self::$list as $route) {  //перебор передаваемых данных
        if($route["uri"] === '/'.$query){ // если такой урл есть то пропускаем дальше
            if($route["post"] === true){ // если это метод пост пропускаем дальше
                $action = new $route["class"]; // создаем экземпляр класса Auth
                $method = $route["method"];  //передача метода
                $action->$method($_POST); //
                die();
            }
        } else { // елси это не пост метод, продолжаем отсюда и переходим по ссылке
            require_once "views/pages/".$route['page'].'.php';
            die();
        }
    }
    self::errors();//нет такого урла? ошибка значит!
}

полный код на git-е https://github.com/ksa06/php/tree/main/praktika_oop


Ответы (1 шт):

Автор решения: Алексей

У вас else стоит не там, где нужно. Полагаю, что должно быть так:

public static function enable()
    {
        $query = $_GET['q'];
        foreach (self::$list as $route) {  //перебор передаваемых данных
            if($route["uri"] === '/'.$query){ // если такой урл есть то пропускаем дальше
                if($route["post"] === true){ // если это метод пост пропускаем дальше
                    $action = new $route["class"]; // создаем экземпляр класса Auth
                    $method = $route["method"];  //передача метода
                    $action->$method($_POST); //
                    die();
                } else { // если это не пост метод, продолжаем отсюда и переходим по ссылке
                    require_once "views/pages/".$route['page'].'.php';
                    die();
                }
            } 
        }
        self::errors();//нет такого урла? ошибка значит!
    }
→ Ссылка