kode
never knows best
задачка с путями
Например:
http://example.com/catalog/phones/view/motorola-v220 - показываем мотороллу в220
или
http://example.com/catalog/phones/view/12332 - показываем по идентификатору
или
http://example.com/catalog/phones/comment/12322 - делаем комментарий и показываем, или выводим ошибку
или
http://example.com/catalog/phones/ - показываем каталог телефонов
http://example.com/catalog/ - показываем каталог
http://example.com/catalog/manufacturers/ - показываем каталог производителей
те
http://example.com - сайт, для нас не важно
catalog - имя модуля
manufacturers - имя контроллера
view - имя действия
12332 - данные (это всё что идёт в конце, те это может быть и http://example.com/news/view/2007/08/07)
на всех уровнях есть умолчания, те если не задан след элемент - выполняем дефолтное действие
например
http://example.com/catalog/phones/12232
при условии что view дефолтное действие, сделает тоже-самое что и
http://example.com/catalog/phones/view/12332
у нас есть класс uri_rewrite_parser, который инкапсулирует класс uri_abstract_parser, абстрактные методы которого нужно реализовать:
getModule, getController, getAction, getData, ну и ещё кое-что. Класс изолированный, те ничего о других классах знать не должен.
теперь задача:
представим себе ситуацию, есть урл: http://example.com/catalog/manufacturers/nokia, как нам определить является ли nokia экшеном или данными? Если способы определить?
Я рассматривал вариант передавать как есть и разбиратся на соотв уровнях: данные это или модуль/контроллер/действие, но тут тоже свои недостатки
Например:
http://example.com/catalog/phones/view/motorola-v220 - показываем мотороллу в220
или
http://example.com/catalog/phones/view/12332 - показываем по идентификатору
или
http://example.com/catalog/phones/comment/12322 - делаем комментарий и показываем, или выводим ошибку
или
http://example.com/catalog/phones/ - показываем каталог телефонов
http://example.com/catalog/ - показываем каталог
http://example.com/catalog/manufacturers/ - показываем каталог производителей
те
http://example.com - сайт, для нас не важно
catalog - имя модуля
manufacturers - имя контроллера
view - имя действия
12332 - данные (это всё что идёт в конце, те это может быть и http://example.com/news/view/2007/08/07)
на всех уровнях есть умолчания, те если не задан след элемент - выполняем дефолтное действие
например
http://example.com/catalog/phones/12232
при условии что view дефолтное действие, сделает тоже-самое что и
http://example.com/catalog/phones/view/12332
у нас есть класс uri_rewrite_parser, который инкапсулирует класс uri_abstract_parser, абстрактные методы которого нужно реализовать:
getModule, getController, getAction, getData, ну и ещё кое-что. Класс изолированный, те ничего о других классах знать не должен.
теперь задача:
представим себе ситуацию, есть урл: http://example.com/catalog/manufacturers/nokia, как нам определить является ли nokia экшеном или данными? Если способы определить?
Я рассматривал вариант передавать как есть и разбиратся на соотв уровнях: данные это или модуль/контроллер/действие, но тут тоже свои недостатки