Is my routing good or bad? in PHP
Separate your logic and site specific functionality like this:

function Router{
    $url = array_values(array_filter(explode('/', strtolower($_SERVER["REQUEST_URI"]))));
    switch($url[0]){
        case "admin": $this-&gt;Admin($url);
            break;
        case "article": $this-&gt;Article($url);
            break;
        default: displayIndex();
    }
}

function Admin($uri){
    if( !$this-&gt;us-&gt;isAdmin ) {
        $this-&gt;GoToLoginPage();
    }
    array_shift( $uri );
    $department = new Admin( $uri );
}

function Article($uri){
    if( count( $uri ) == 2 ) {
        displayArticle( $uri[1] );
    } else {
        displayError();
    }
}


It's much cleaner, and easier to update.