Я работаю над модным классом маршрутизатора / диспетчера уже несколько недель, пытаясь решить, как я этого хочу, я получил идеальное IMO, за исключением того, что мне не нужна производительность.Он использует карту маршрутов arrap = / forums / viewthread /: id /: page => 'forums / viewthread / (? \ D +)' и просматривает массив карт с помощью регулярных выражений, чтобы найти совпадение. Я пытаюсь найти что-то лучшеена сайте с большим трафиком, вот начало ...
$uri = "forum/viewforum/id-522/page-3";
$parts = explode("/", $uri);
$controller = $parts['0'];
$method = $parts['1'];
if($parts['2'] != ''){
$idNumber = $parts['2'];
}
if($parts['3'] != ''){
$pageNumber = $parts['3'];
}
Где мне нужна помощь, это когда-нибудь идентификатор, и страница не будет присутствовать когда-нибудь, одна или другая, а иногда и обе, так что обвиоулс мой вышекод не покрывает это, он предполагает, что элемент массива 2 всегда является идентификатором, а 3 - всегда страницей, может кто-нибудь показать мне практический способ сопоставления страницы и идентификатора с переменной, только если они существуют в URI и без использования обычноговыражения?
Вы можете увидеть, что у меня есть на моих версиях регулярных выражений в этом вопросе Это хороший способ сопоставить URI с классом / методом в PHP для MVC