Есть некий URL :
/main_category/
/main_category/page/1
/main_category/category/
/main_category/category/page/1
/main_category/category/post/
Где main_category, category и post соответствующие символьные коды постов в базе. Как за максимально быстрое время определить что сейчас показывается? Вот что я сделал сейчас:
if($s1 && $this->m_categories->isCategoryUrl($s1) && (!$s2 && !$s3 && !$s4) || ($s2 == 'page' && $s3 > 0))
{
$this->main_cat($s1);
}
elseif($s1 && $s2 == 'page' && intval($s3))
{
$this->main_cat($s1, intval($s3));
}
elseif($s1 && $this->m_categories->isCategoryUrl($s2) && $post = $this->m_posts->isPostUrl($s3))
{
$this->post($s3, $s1, $s2);
}
elseif($s1 && $this->m_categories->isCategoryUrl($s2))
{
if($s3 == 'page' && intval($s4))
{
$this->subcat($s2, intval($s4), $s1);
}
elseif($s3)
{
show_404();
}
else
{
$this->subcat($s2, 0, $s1);
}
}
elseif($s1 && $this->m_posts->isPostUrl($s2))
{
$this->post($s2, $s1);
}
else
{
show_404();
}
Есть ли у вас какие либо предложения? $1/$2/$3 - соответственно.
Заранее спасибо!
P.S. То что кроме main_category определяется заранее штатным роутером фреймворка, мне-же надо раскидать функцинал внутри одного контроллера.