ФорумСообществоПрофессиональная деятельностьВзаимопомощь → Нужен разбор URL как в WP

Нужен разбор URL как в WP

  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:32, спустя 4 минуты 28 секунд

    скажу что будь я руководителем проекта, я бы тебя нанял :) котелок варит. только по рукам надо бить постоянно чтобы в сторону не уносило.
    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:34, спустя 1 минуту 56 секунд

    себе во фреймворк я эту идею не возьму, но она отличная
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:41, спустя 6 минут 18 секунд


    скажу что будь я руководителем проекта, я бы тебя нанял :) котелок варит. только по рукам надо бить постоянно чтобы в сторону не уносило.
    спасибо.
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:42, спустя 1 минуту 34 секунды

    если бы меня начальник по рукам бил …. думаю что у меня не стало бы начальника :)))

    гыы

    идея да норм. думаю себе в кмс как второй эшалон реализовать эту штуку. первый эшалон будут - материальные пути в бд, второй - реврайты, третий - стандартный реврайт механизм … уже начинаю задумываться о времени генерации))
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:49, спустя 6 минут 42 секунды

    есть минус: это новый уровень неявной зависимости между модулями. в мои представления о черном ящике не укладывается.
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:54, спустя 5 минут 35 секунд


    есть минус: это новый уровень неявной зависимости между модулями. в мои представления о черном ящике не укладывается.
    ну видишь ли … эта неявная зависимость удаляется простым is_array … и становятся рабочие: твой! и мой! методы, ага? :)
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 28 мая 2009 г. 7:05, спустя 20 часов 10 минут 58 секунд

    апап
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 28 мая 2009 г. 7:58, спустя 52 минуты 15 секунд

    можно. только незачем использовать оба способа через один интерфейс. можно предоставить два интерфейса на выбор.
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 28 мая 2009 г. 8:00, спустя 2 минуты 50 секунд


    можно. только незачем использовать оба способа через один интерфейс. можно предоставить два интерфейса на выбор.
    чтобы запоминать меньше имхо
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 13 сентября 2009 г. 6:13, спустя 107 дней 22 часа 12 минут

    ап

    двунаправленный роутер
    пример конфиги

    $config = array(
    'router' => array(
    'rules'=>array(
    'Post/List:1' => '/',
    'Post/List:2' => '/tag/(tag)',
    'Post/List:3' => '/posts',
    'Post/List:4' => '/posts/(date)',
    'Post/Show:1' => '/post/(id)',
    'Post/Show:1a' => '/post/(id)#r(rid)',
    'Post/Show:p' => '/posts/(id)/page-(p)',
    'Post/Show:pa' => '/posts/(id)/page-(p)#r(rid)',
    'Post/Update' => '/post/edit/(id)',
    'Comment/Add' => '/post/reply/(id)',
    'Comment/Update'=> '/reply/edit/(id)',
    ),
    'vars' => array(
    'id' => '\d+',
    'rid' => '\d+',
    'p' => '\d+',
    'tag' => '.+',
    'date' => '\d{4}-\d{2}-\d{2}',
    ),
    'translate' => array(
    'date' => array('_dateIn', '_dateOut'),
    )
    )

    пример теста

    $r = QbRouter::request();
    echo "<pre>\n";
    echo $_SERVER['REQUEST_URI']."\n";
    echo "\n";
    echo ($r === FALSE) ? 'No route' : print_r($r, TRUE);
    echo "\n";
    echo '<a href="'.QbRouter::url('Post/List:4', array('date'=>time())).'">Link 1</a>'."\n";
    echo '<a href="'.QbRouter::url('Post/Show:1a', array('id'=>15, 'rid'=>77)).'">Link 2</a>'."\n";
    echo '<a href="'.QbRouter::url('Post/Show:pa', array('id'=>15, 'rid'=>77, 'p'=>2)).'">Link 3</a>'."\n";
    echo '<a href="'.QbRouter::url('Post/List:2', array('tag'=>'framework')).'">Link 4</a>'."\n";
    echo "</pre>\n";

    результат

    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 сентября 2009 г. 6:36, спустя 23 минуты 8 секунд

    майроутер! только отказался ты от одной мелочи моей в генерации ссылок)
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 13 сентября 2009 г. 6:44, спустя 7 минут 49 секунд

    ну да, твоя технология. от меня только 'translate' и общее «прихорашивание». мелочь — это использование пространства имён шаблона?

    собираюсь прикрепить к "фреймворку"
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!