Bardzo prosty helper do pomocy przy ścieżkach – może się przydać w naszym projekcie. Do dzieła.

Metoda pierwsza:

class Path {
    public static function thisDir(){
        return __DIR__;
    }
}

Użycie:

echo Path::thisDir();
//C:\xampp\htdocs\sometry

Metoda inThisDir:

class Path {
    public static function thisDir(){
        return __DIR__;
    }

    public static function inThisDir($file){
        return __DIR__ . "\\$file";
    }
}

Użycie:

echo Path::thisDir();
//C:\xampp\htdocs\sometry
echo Path::inThisDir("index.php");
//C:\xampp\htdocs\sometry\index.php

Metody parentDir oraz inParentDir:

class Path {
    
    //(...)

    public static function parentDir(){
        return dirname(__DIR__);
    }

    public static function inParentDir($file){
        return dirname(__DIR__) . "\\$file";
    }
}

Użycie:

echo Path::parentDir();
//C:\xampp\htdocs
echo Path::inParentDir("index.php");
//C:\xampp\htdocs\index.php

Metody nthDirAbove i inNthDirAbove, wykorzystujące opcjonalny parametr funkcji dirname:

class Path {
    
    //(...)

    public static function nthDirAbove($num){
        return dirname(__DIR__, $num);
    }

    public static function inNthDirAbove($num, $file){
        return dirname(__DIR__, $num) . "\\$file";
    }
}

Użycie tych metod:

echo Path::nthDirAbove(2);
//C:\xampp
echo Path::inNthDirAbove(2, 'php.ini');
//C:\xampp\php.ini