Форум → Сообщество → Профессиональная деятельность → Взаимопомощь → Нужен разбор URL как в WP
Нужен разбор URL как в WP
-
-
19 мая 2009 г. 9: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ι унц-унц -
19 мая 2009 г. 10:06, спустя 19 минут 36 секунд
artoodetoo, честно скажу, чето последнее время рассуждения других людей тяжело даются моему мозгу … прости, страница открыта, может еще пойму о чем ты мне пытаешься объяснить ..Сапожник без сапог -
-
19 мая 2009 г. 10:21, спустя 8 минут 14 секунд
3 часа спал :(
забей. спать надо больше, дуд!Сапожник без сапог -
19 мая 2009 г. 10:45, спустя 23 минуты 27 секунд
работающий пример (включая мой мегашаблонизатор 13-й версии)
http://cmf.org.ru/minimal-090519.zipιιlllιlllι унц-унц -
19 мая 2009 г. 12:22, спустя 1 час 37 минут 9 секунд
artoodetoo, поспал еще 1 час 23 минуты. пиздец жизньСапожник без сапог -
19 мая 2009 г. 12: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' => '/$',
)
тут я бы учел что значение может быть массив. ответ на вопрос зачем: потому что часто страницы отличаются одним только параметром и надо учесть возможность не плодить вьювсы или модули как у тебя с неебической скоростью ради одного ифа.Сапожник без сапог -
19 мая 2009 г. 12:36, спустя 3 минуты 21 секунду
типа
'board' => array('/%kind%/%id%.html','/%kind%/%id%/page/%page%.html'),Сапожник без сапог -
19 мая 2009 г. 12:36, спустя 17 секунд
может и не задумываться над этим … %)
чето я устал смотрюСапожник без сапог -
19 мая 2009 г. 12:40, спустя 3 минуты 17 секунд
пересмотрел код и думаю. ахуеть какой я неплохой алгоритм выдумал :-D
сейчас вот начал смотреть и думаю: "ни хуя как все хитро" ..Сапожник без сапог -
19 мая 2009 г. 12:57, спустя 17 минут 7 секунд
ты типа уже на два голоса стал разговаривать? не к добру :)
про массив и маршрут с номером страницы я уже думал.
еще есть мысль, точнее две:
- надо ведь не только читать URL, но и писать, т.е. генерировать ссылки вроде
src="<?php echo url('topic', $topicId, $date, $subject) ?>">Тема</a>
сдается мне, понадобится еще один массив, производный от таблицы маршрутов
- compileRoute() не надо вызывать во время роутинга. предварительный разбор надо делать один раз после изменения таблицы маршрутизации, т.е. как парсинг шаблонаιιlllιlllι унц-унц -
19 мая 2009 г. 13:00, спустя 3 минуты 21 секунду
ты прав про одноразовую компиляцию.
ты типа уже на два голоса стал разговаривать? не к добру :)
про массив и маршрут с номером страницы я уже думал.
еще есть мысль, точнее две:
- надо ведь не только читать URL, но и писать, т.е. генерировать ссылки вроде
src="<?php echo url('topic', $topicId, $date, $subject) ?>">Тема</a>
сдается мне, понадобится еще один массив, производный от таблицы маршрутов
- compileRoute() не надо вызывать во время роутинга. предварительный разбор надо делать один раз после изменения таблицы маршрутизации, т.е. как парсинг шаблона
А Я СЕЙЧАС СЕД ПЕРЕПИСАТЬ В АХУЕННЫЙ ВИД МОЙ Curl.php.Сапожник без сапог -
19 мая 2009 г. 13:01, спустя 22 секунды
сука последнее время нет настроения работать ни на кого, все заебали :(Сапожник без сапог -
19 мая 2009 г. 13:02, спустя 57 секунд
а в чем проблема собственно?
src="<?php echo url('topic', $topicId, $date, $subject) ?>">Тема</a>
src="<?php echo url('topic:2', $topicId, $date, $subject) ?>">Тема (страница 2)</a>
и всеСапожник без сапог
Пожалуйста, авторизуйтесь, чтобы написать комментарий!