Советы по написанию / проектированию URL-маршрутизатора в PHP с использованием ООП
Мне нравится элегантность Zend_Controller_Router_Rewrite и различные классы маршрутов, которые он использует.
Я хотел бы написать очень похожую систему маршрутизации в качестве отдельного компонента, чтобы я мог преобразовывать URL-адреса в набор параметров и снова собирать их. Идея состоит в том, чтобы использовать их для выбора, скажем, обработчика нормализации URL для каждого пути.
Я подумал о расширении реальных классов Zend Controller Route для создания своих собственных. Но эти классы кажутся очень глубоко маршрутизированными (если вы извините за каламбур) на доменном языке Zend MVC.
Знаете ли вы об отдельном пакете маршрутизации / наборе классов, доступных для использования в моем проекте?
Является ли Zend Router примером какого-то конкретного шаблона проектирования, который я мог бы использовать, если бы написал свой собственный?
Есть ли у вас какие-либо советы по написанию URI-маршрутизатора?
2 ответа
Проверьте URL-маршрутизатор в Alloy PHP Framework:
http://alloyframework.org/manual/url-router/
Существует конкретный заголовок об использовании его вне фреймворка в качестве автономной библиотеки, и ИМХО это гораздо более элегантное решение, чем Zend_Controller_Router_Rewrite.
Я надеюсь, что я не понимаю ваш вопрос.
я не использовал Zend_Controller_Router, но codeigniter и routerphp разбивают параметр url на '/' и сопоставляют их с различными контроллерами и методами, что, как мне кажется, не сложно реализовать с нуля.