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

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

  • artoodetoo

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

    Spritz 19 мая 2009 г. 1:39, спустя 3 минуты 27 секунд

    чёто значит, но я уже забыл )))
    ιιlllιlllι унц-унц
  • artoodetoo

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

    Spritz 19 мая 2009 г. 1:47, спустя 7 минут 50 секунд

    кстати, еще кое-что соптимизировал по мелочи. вот это уродство в твоём коде меня смущало

    foreach($this->_groups as $group=>$null)

    нах этот $null ! сделал

    foreach(array_keys(self::$_vars) as $id)

    но это тоже было говно. а всего-то надо поменять местами ключ и значение. там какраз позиция уникальна, а вот id теоретически может упоминаться несколько раз (надо еще обмозговать последствия)
    сейчас так: в lookupRoute()

    foreach(self::$_vars as $id)

    в compileRoute()

    self::$_vars[$pos] = $id;
    //…
    ksort(self::$_vars);


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

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

    Spritz 19 мая 2009 г. 2:06, спустя 19 минут 36 секунд

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

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

    Spritz 19 мая 2009 г. 2:13, спустя 6 минут 45 секунд

    забей. спать надо больше, дуд!
    ιιlllιlllι унц-унц
  • phpdude

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

    Spritz 19 мая 2009 г. 2:21, спустя 8 минут 14 секунд


    забей. спать надо больше, дуд!
    3 часа спал :(
    Сапожник без сапог
  • artoodetoo

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

    Spritz 19 мая 2009 г. 2:45, спустя 23 минуты 27 секунд

    работающий пример (включая мой мегашаблонизатор 13-й версии)
    http://cmf.org.ru/minimal-090519.zip
    ιιlllιlllι унц-унц
  • phpdude

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

    Spritz 19 мая 2009 г. 4:22, спустя 1 час 37 минут 9 секунд

    artoodetoo, поспал еще 1 час 23 минуты. пиздец жизнь
    Сапожник без сапог
  • phpdude

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

    Spritz 19 мая 2009 г. 4:33, спустя 10 минут 46 секунд

    после поспавшего часу могу сказать, что

    'routes' => array(
    'post_new' => '/topic/%id%/new_post.html',
    'post_edit' => '/post/%id%/edit.html',
    'topic' => '/topic/%id%.html',
    'new_topic' => '/%kind%/%id%/new_topic.html',
    'board' => '/%kind%/%id%.html',
    'board_list' => '/%kind%/',
    'index' => '/$',
    )


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

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

    Spritz 19 мая 2009 г. 4:36, спустя 3 минуты 21 секунду

    типа


    'board' => array('/%kind%/%id%.html','/%kind%/%id%/page/%page%.html'),
    Сапожник без сапог
  • phpdude

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

    Spritz 19 мая 2009 г. 4:36, спустя 17 секунд

    может и не задумываться над этим … %)

    чето я устал смотрю
    Сапожник без сапог
  • phpdude

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

    Spritz 19 мая 2009 г. 4:40, спустя 3 минуты 17 секунд

    пересмотрел код и думаю. ахуеть какой я неплохой алгоритм выдумал :-D

    сейчас вот начал смотреть и думаю: "ни хуя как все хитро" ..
    Сапожник без сапог
  • artoodetoo

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

    Spritz 19 мая 2009 г. 4:57, спустя 17 минут 7 секунд

    ты типа уже на два голоса стал разговаривать? не к добру :)

    про массив и маршрут с номером страницы я уже думал.

    еще есть мысль, точнее две:

    - надо ведь не только читать URL, но и писать, т.е. генерировать ссылки вроде
    src="<?php echo url('topic', $topicId, $date, $subject) ?>">Тема</a>
    сдается мне, понадобится еще один массив, производный от таблицы маршрутов

    - compileRoute() не надо вызывать во время роутинга. предварительный разбор надо делать один раз после изменения таблицы маршрутизации, т.е. как парсинг шаблона
    ιιlllιlllι унц-унц
  • phpdude

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

    Spritz 19 мая 2009 г. 5:00, спустя 3 минуты 21 секунду


    ты типа уже на два голоса стал разговаривать? не к добру :)

    про массив и маршрут с номером страницы я уже думал.

    еще есть мысль, точнее две:

    - надо ведь не только читать URL, но и писать, т.е. генерировать ссылки вроде
    src="<?php echo url('topic', $topicId, $date, $subject) ?>">Тема</a>
    сдается мне, понадобится еще один массив, производный от таблицы маршрутов

    - compileRoute() не надо вызывать во время роутинга. предварительный разбор надо делать один раз после изменения таблицы маршрутизации, т.е. как парсинг шаблона
    ты прав про одноразовую компиляцию.


    А Я СЕЙЧАС СЕД ПЕРЕПИСАТЬ В АХУЕННЫЙ ВИД МОЙ Curl.php.
    Сапожник без сапог
  • phpdude

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

    Spritz 19 мая 2009 г. 5:01, спустя 22 секунды

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

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

    Spritz 19 мая 2009 г. 5:02, спустя 57 секунд

    а в чем проблема собственно?

    src="<?php echo url('topic', $topicId, $date, $subject) ?>">Тема</a>
    src="<?php echo url('topic:2', $topicId, $date, $subject) ?>">Тема (страница 2)</a>

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

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