Как написать хороший роутер или где взять готовый?

Помогите написать нормальный роутер + url.

Вот как-то так он выглядит сейчас
class Route {
	//тут был код)
	}
	
}


Писался давно, знаю что не супер.
Вот Url
И тут тоже
Это лишь часть кода(как пример)

Что посоветуете ?
Как нормально написать все это дело ?
Или у этого роутера есть шанс на жизнь?

Если смотреть в сторону готовых решений, то что наиболее оптимальное?
вариант 1
Второй
Третий


Ссылки прогоняю через рг. выр.
Получаются:
В обычном виде, как-то так: domen.ru/class.php?option=1&id=17#page=3
В обработанном: domen.ru/class/option1/17#page3
И чпу: domen.ru/classname/opionname/name/page1
Нагрузка разумеется меняется, хочется что бы было все правильно и что бы ссылки хотя бы нормально выглядели, можно и чпу частичное.
  • Вопрос задан
  • 697 просмотров
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Или у этого роутера есть шанс на жизнь?

Есть конечно, но умрет быстро. Ну или пользователь вашего раутера (или тот кому достанется на поддержку) будет жадать его смерти.

Как нормально написать все это дело ?

Никакой статики (статические методы-фабрики не в счет), инверсия зависимостей а главное возьмите PhpSpec и пробуйте проектировать через спеки. Это сильно ограничит вас в желании написать какую-нибудь гадость ибо тогда сразу тесты писать будет не удобно.

Что посоветуете ?

https://packagist.org/search/?q=router и в частности https://github.com/nikic/FastRoute
ну и чтиво на ночь: nikic.github.io/2014/02/18/Fast-request-routing-us...
Ответ написан
MintTea
@MintTea
Что посоветуете ?

Следовать стандартам оформления кода. PSR-1, PSR-2.

Если смотреть в сторону готовых решений...

Symfony Routing Component. Вы охренеете, пока будете пытаться его установить, но в конце у вас будет простой yml-конфиг, в котором все роуты прописаны декларативно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы