Parsing requests question

I’ve been writing a frontController, singleton. I have this for parsing the request.

public function initRequest($request = null) {
        if ($request === null) {
            if (isset($_SERVER['REDIRECT_URL'])) {
                $request = $_SERVER['REDIRECT_URL'];
            } elseif (isset($_SERVER['SCRIPT_NAME'])) {
                $request = $_SERVER['SCRIPT_NAME'];
            } else {
                $request = 'error';
        $request = trim($request, '/ ');
        $request = substr($request, 0, strcspn($request, '.'));
        if(empty($request)) {
            $request = 'index';
        $cmdArray = explode('/', $request);
        $_inits = array(
            'cmd'  => array_shift($cmdArray), 'argv' => $cmdArray,
            'argc' => count($cmdArray)
        $this->_inits = $_inits;

In the controller model and view I have the directories for each being assigned statically, i.e. Controller_Abstract::$dir =<fullpath Directory>
so I can have a config file consisting of static settings for the appropriate directories and other settings, of course being loaded after the appropriate classes are loaded. Any thought good or bad on this approach would be welcomed even if you think I need to put a meatball on top of it:lol:.