src/Maleeby/MRest/Routing.php
private static function _getController($uri, $namespace) {
        $dir = realpath(APP_PATH . '/../' . $namespace) . DIRECTORY_SEPARATOR;

        if (!is_dir($dir . $uri)) {
            $uriParts = explode('/', $uri, 2);
            if (is_dir($dir . $uriParts[0])) {
                return self::_getController($uriParts[1], $namespace . $uriParts[0] . '\\');
            } elseif (is_file($dir . $uriParts[0] . '.php')) {
                $uri = $uriParts[0];
            }
        } else {
            $namespace = $namespace . '\\' . str_replace('/', '\\', $uri);
            $uri = '';
        }

        if (substr($namespace, -1) == '\\') {
            $namespace = substr($namespace, 0, strlen($namespace) - 1);
        }
        if (!$uri) {
            $uri = self::getNamespaceDefaultClass($namespace, 'App\\'); // Sets the default class
        }

        return self::fixNamespace($namespace . '\\' . $uri);
    }
private static function _getController($uri, $namespace) {
        $dir = realpath(APP_PATH . '/../' . $namespace) . DIRECTORY_SEPARATOR;

        if (!is_dir($dir . $uri)) {
            $uriParts = explode('/', $uri, 2);
            if (is_dir($dir . $uriParts[0])) {
                return self::_getController($uriParts[1], $namespace . $uriParts[0] . '\\');
            } elseif (is_file($dir . $uriParts[0] . '.php')) {
                $uri = $uriParts[0];
            }
        } else {
            $namespace = $namespace . '\\' . str_replace('/', '\\', $uri);
            $uri = '';
        }

        if (substr($namespace, -1) == '\\') {
            $namespace = substr($namespace, 0, strlen($namespace) - 1);
        }
        if (!$uri) {
            $uri = self::getNamespaceDefaultClass($namespace, 'App\\'); // Sets the default class
        }

        return self::fixNamespace($namespace . '\\' . $uri);
    }
private static function _getController ( $ uri , $ namespace ) { $ dir = realpath ( APP_PATH . '/../' . $ namespace ) . DIRECTORY_SEPARATOR ; if ( ! is_dir ( $ dir . $ uri ) ) { $ uriParts = explode ( '/' , $ uri , 2 ) ; if ( is_dir ( $ dir . $ uriParts [ 0 ] ) ) { return self :: _getController ( $ uriParts [ 1 ] , $ namespace . $ uriParts [ 0 ] . '\\' ) ; } elseif ( is_file ( $ dir . $ uriParts [ 0 ] . '.php' ) ) { $ uri = $ uriParts [ 0 ] ; } } else { $ namespace = $ namespace . '\\' . str_replace ( '/' , '\\' , $ uri ) ; $ uri = '' ; } if ( substr ( $ namespace , - 1 ) == '\\' ) { $ namespace = substr ( $ namespace , 0 , strlen ( $ namespace ) - 1 ) ; } if ( ! $ uri ) { $ uri = self :: getNamespaceDefaultClass ( $ namespace , 'App\\' ) ; // Sets the default class } return self :: fixNamespace ( $ namespace . '\\' . $ uri ) ; }
Returns the controller's data for an URI

@param string $uri URI
@param string $namespace URI namespace

@return array [string uri, string namespace, array defaults]
Returns the controller s data for an URI