Форум → Сообщество → Профессиональная деятельность → Взаимопомощь → Нужен разбор URL как в WP
Нужен разбор URL как в WP
-
27 мая 2009 г. 10:32, спустя 4 минуты 28 секунд
скажу что будь я руководителем проекта, я бы тебя нанял :) котелок варит. только по рукам надо бить постоянно чтобы в сторону не уносило.ιιlllιlllι унц-унц -
27 мая 2009 г. 10:34, спустя 1 минуту 56 секунд
себе во фреймворк я эту идею не возьму, но она отличнаяιιlllιlllι унц-унц -
27 мая 2009 г. 10:41, спустя 6 минут 18 секунд
спасибо.
скажу что будь я руководителем проекта, я бы тебя нанял :) котелок варит. только по рукам надо бить постоянно чтобы в сторону не уносило.Сапожник без сапог -
27 мая 2009 г. 10:42, спустя 1 минуту 34 секунды
если бы меня начальник по рукам бил …. думаю что у меня не стало бы начальника :)))
гыы
идея да норм. думаю себе в кмс как второй эшалон реализовать эту штуку. первый эшалон будут - материальные пути в бд, второй - реврайты, третий - стандартный реврайт механизм … уже начинаю задумываться о времени генерации))Сапожник без сапог -
27 мая 2009 г. 10:49, спустя 6 минут 42 секунды
есть минус: это новый уровень неявной зависимости между модулями. в мои представления о черном ящике не укладывается.ιιlllιlllι унц-унц -
27 мая 2009 г. 10:54, спустя 5 минут 35 секунд
ну видишь ли … эта неявная зависимость удаляется простым is_array … и становятся рабочие: твой! и мой! методы, ага? :)
есть минус: это новый уровень неявной зависимости между модулями. в мои представления о черном ящике не укладывается.Сапожник без сапог -
-
28 мая 2009 г. 7:58, спустя 52 минуты 15 секунд
можно. только незачем использовать оба способа через один интерфейс. можно предоставить два интерфейса на выбор.ιιlllιlllι унц-унц -
28 мая 2009 г. 8:00, спустя 2 минуты 50 секунд
чтобы запоминать меньше имхо
можно. только незачем использовать оба способа через один интерфейс. можно предоставить два интерфейса на выбор.Сапожник без сапог -
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ι унц-унц -
13 сентября 2009 г. 6:36, спустя 23 минуты 8 секунд
майроутер! только отказался ты от одной мелочи моей в генерации ссылок)Сапожник без сапог -
13 сентября 2009 г. 6:44, спустя 7 минут 49 секунд
ну да, твоя технология. от меня только 'translate' и общее «прихорашивание». мелочь — это использование пространства имён шаблона?
собираюсь прикрепить к "фреймворку"ιιlllιlllι унц-унц
Пожалуйста, авторизуйтесь, чтобы написать комментарий!