uri роутер

Тема в разделе "PHP", создана пользователем serjinio, 13 окт 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    из жизненного опыта что лучше разбор URI средствами php или правилами модреврайта
    в смысле как лучше сделать (гибче) чтобы совершать мин движений при добавлении нового модуля
    прописывать новое правило в .htaccess или в файле конфига (php)
    кто то видел норм реализацию на php кроме известных фреймворков
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    а чем тебе реализация известных фреймворков кажется ненормальной? все роутеры работают по одному принципу.
     
  3. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    из жизненного опыта - проще все завернуть на файл пхп и пусть он разбирается.
    плюсы (по сравнению с .htaccess:(
    - можно динамически добавлять модули прямо из пхп, включать и отключать их
    - не надо знать правила написания реврайта .htaccess, что тот еще гемор. да и добавить то просто, а удалить уже тяжело.
    - в случае ошибки модуля ее можно обработать еще на этапе загрузки
    - не надо давать права на запись в .htaccess
    - можно выбрать разные способы задания правил
    минусы:
    - реализации на пхп разные. да и вообще это же на пхп. то есть немного страдает скорость
    - если не реализована инфраструктура модулей, то добавлять придется прямо в коде, что ничем не лучше .htaccess

    Другое дело если какой быстрый самопал, где нет вообще инфраструктуры модулей. Тут проще - залил модуль, отредактировал .htaccess и радуешься.
     
  4. sublimity

    sublimity Создатель

    Регистр.:
    7 янв 2008
    Сообщения:
    23
    Симпатии:
    3
    минимум apache мой выбор , чтобы быстро сбежать на nginx :)
    modphp vs cgi , разбор урлов делать только в php
    все валить на index.php а там дальше разбирать $_server['request']

    свои скрипты так и писал, что позволило перейти с mod на cgi очень бысторо , совет посмотреть php-man: parse_url()

    php распарсит 1000 урлов быстрее чем дойдет запрос до mysql и обратно ... :)
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Вообще надо было бы начать с принципа uri-роутинга. Буть то apache или nginx, основное правило придется писать в настройках именно его. А правило такое: при обращении к несуществующим файлам или папкам перенаправлять запросы скажем на index.php, который будет выступать в качестве фронт-контроллера. И вот уже потом средствами php разбирать request_uri и выполнять необходимую операцию.
     
Статус темы:
Закрыта.