Как пройтись по всем маршрутам?

Рейтинг: -2Ответов: 1Опубликовано: 13.02.2023

Добавляю маршруты в массив вот так:

public function addRoute($method, $route) {
   $this->routes[$method][] = $route;
}

public function dispatch () {
  // вот как тут пройтись по всем маршрутам?
}

//index.php
addRoute('GET', new Route('', 'home@index'); // Route - request, path

Ответы

▲ 1

Я так понял, что вам нужно проходиться по двухмерному массиву не зависимо от наименования ключей записей(Все записи). Это можно реализовать через цикл foreach. Что-то типо этого:

public function dispatch() {
  foreach ($this->routes as $key => $value) {
    foreach ($routes as $route) {
      // здесь можно выполнить какой-то код для каждого маршрута, например:
      // $route->execute();
    }
  }
}

Тут я предположил что написанный здесь вами пример является одним из методов общего класса. Соответственно $this->routes Это поле с двухмерным массивом. Подробнее можно прочитать здесь