Регулярка тут не при делах.
Просто ты не понял, как бороться с дебаггером.
Массив, это текущая таблица переменных. Это дебаггер у меня из трассировки вытягивает.
Переменные, как положено, сверху вниз. Первая в массиве - первая в методе. Значит это переменная
$routes. По логике скрипта видно, что она не может быть пустой. Потому что мы открываем конкретную страницу, а значит в роутер должен попасть GET параметр. Это очевидно.
Если переменная пуста, значит метод IRB_URL::iniGET() ничего не вернул. Можно пойти посмотреть, что там. Но если чуток знаешь код, то из таблицы переменных видно, что ожидается ключ "page", а мы запрашиваем "dummy". Вот и весь баг.
А вот из вашей трассировки вообще ничего не понять. Ну контейнер, ну диспетчер, ну роутер. Где что пропало...
Какой контейнер смотреть, куда что девалось... Конечно, порывшись в коде, можно разобраться. Но ведь нужно рыться. А доков нету. А зависимости не ясны. А значит прозрачность - 0.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.