Помогите упростить код - написать более читабельнее

JIEXA

Новичок
Помогите упростить код - написать более читабельнее

Есть кусочек кода, я его сам написал, но написал так криво и не читабельно, что мне самому его очень трудно читать/изменять. Может у кого-нибудь есть идеи, как можно переписать этот код более понятнее. Буду очень благодарен.
PHP:
<? 
include "inc/core_site.inc.php"; 

$host =  explode(".", $_SERVER['HTTP_HOST']); 
$url = explode("/", $_SERVER['REQUEST_URI']); 

switch($host['0']) 
{ 
    case "www": 
    header("Location: ".$settings['url']); 
    break; 

    case $settings['domain']: 
    if($url['1'] == "community") 
    { 
        if(!empty($url['2'])) 
        { 
            $the_page = intval(str_replace("/", "", str_replace("page_", "", $url['3']))); 
            $alias = $url['2']; 
            include "community/community.inc.php"; break; 
        } 
        else if(strstr($url['2'], "page_"))  
        {     
            $the_page = intval(str_replace("/", "", str_replace("page_", "", $url['2'])));  
        } else { $the_page = "0"; } 
        include "community/community_all.inc.php"; break; 
    } 
    else { include "index.inc.php"; } 
    break; 
     
    default: 
    $userlogin = $host['0']; 
    if($url['1'] == "blog" and !empty($url['2']) and !strstr($url['2'], "page_")) 
    { 
        $suburl = explode(".", $url['2']); 
        $newsid = intval($suburl['0']); 
        include "blog/blog_viewpost.php"; break; 
    } 
    else if($url['1'] == "blog")  
    { 
        if(strstr($url['2'], "page_"))  
        {     
            $the_page = intval(str_replace("/", "", str_replace("page_", "", $url['2'])));  
        } else { $the_page = "0"; } 
             
        include "blog/blog.php";  break; 
    } else { include BASE."people/userpage.inc.php"; } 
} 
?>


Этот код разбирает URL и взависимости от значений в URL инклудит нужный скрипт.
 

JIEXA

Новичок
Как я понял, в основном фронт-контроллеры — входят в состав толстых FrameWork`ов ... Я не использую фреймворк. Поэтому, может быть подскажите какой-нибудь небольшой Фронт контроллер, который справится с моей задачей?
 

HraKK

Мудак
Команда форума
А тебе и не надо его использоваьт, ты посмотри как там сделано и сделай свой
 

JIEXA

Новичок
Дело в том, что я не когда не использовал контроллеры, поэтому я даже не знаю где лучше смотреть. Посоветуйте, где лучше посмотреть? А то я пока найду где смотреть, найду как работает, перепишу к себе - уйдет куча времени.
 

cDLEON

Онанист РНРСlub
У меня есть вариант как написать более читабельнее...
Поставь комменты в местах где долго разбираться что ты там делаешь.
 

HraKK

Мудак
Команда форума
Прочитайте про ООП пару книжек, у Вас сильно хромает это место. Прочитаете - приходите поговорим.
 

dark-demon

d(^-^)b
простейший вариант:

PHP:
$params = explode("/", $_SERVER['REQUEST_URI']); 
$handler= trim(strtr(array_shift($params),'.','/'),'/').'/in.inc';
if (!$handler) $handler= 'mainpage';
include($handler);
соответственно по урлу: /article.list/page:0/
будет подгружен файл: article/list/in.inc
 

HraKK

Мудак
Команда форума
Вот и не трате свое время на такие ценные советы как у dark-demon, а тратье его на прочтение умных книжег.
 
Сверху