protected static function overlayPath($path)
    {
        $path = str_replace('\\', '/', $path);
        $hasOverlay = false;
        if (strpos($path, self::$rootPath) !== 0) {
            // Path is not below root path, ignore it
            return $path;
        }

        $newPath = ltrim(substr($path, strlen(self::$rootPath)), '/');
        foreach (self::$overlayPaths as $overlay => $replace) {
            if (strpos($newPath, $overlay) === 0) {
                $newPath = $replace . substr($newPath, strlen($overlay));
                $hasOverlay = true;
                break;
            }
        }
        return $hasOverlay ? $newPath : $path;
    }
protected static function overlayPath($path)
    {
        $path = str_replace('\\', '/', $path);
        $hasOverlay = false;
        if (strpos($path, self::$rootPath) !== 0) {
            // Path is not below root path, ignore it
            return $path;
        }

        $newPath = ltrim(substr($path, strlen(self::$rootPath)), '/');
        foreach (self::$overlayPaths as $overlay => $replace) {
            if (strpos($newPath, $overlay) === 0) {
                $newPath = $replace . substr($newPath, strlen($overlay));
                $hasOverlay = true;
                break;
            }
        }
        return $hasOverlay ? $newPath : $path;
    }
protected static function overlayPath ( $ path ) { $ path = str_replace ( '\\' , '/' , $ path ) ; $ hasOverlay = false ; if ( strpos ( $ path , self :: $ rootPath ) !== 0 ) { // Path is not below root path, ignore it return $ path ; } $ newPath = ltrim ( substr ( $ path , strlen ( self :: $ rootPath ) ) , '/' ) ; foreach ( self :: $ overlayPaths as $ overlay => $ replace ) { if ( strpos ( $ newPath , $ overlay ) === 0 ) { $ newPath = $ replace . substr ( $ newPath , strlen ( $ overlay ) ) ; $ hasOverlay = true ; break ; } } return $ hasOverlay ? $ newPath : $ path ; }
Checks and overlays a path

@param string $path The path to check
@return string The potentially overlaid path
Checks and overlays a path