PHP fonction joinPath : La fonction de création de chemin
Si comme moi sur nodejs vous utiliser la fonction bien pratique path.join() mais que vous ne la trouver pas sur PHP. Normal, elle existe pas. Je vous propose une alternative avec cette fonction joinPath, ci-dessous. Si vous ne la connaissait pas, elle permet de joindre des morceaux de chemin sans se soucier si il faut utiliser les « / » sur windows ou les « \ » sur linux. Bien que la constante magique de PHP « DIRECTORY_SEPARATOR » permet d’outre passer cette problématique, il s’avère que les chemins deviennent très vite long.
Fonction
La fonction peut être utile dans les require, require_once, les chargement de fichiers, etc.
function joinPath() { $path = join(DIRECTORY_SEPARATOR, func_get_args()); if( is_dir($path) ): $path .= DIRECTORY_SEPARATOR; endif; return $path; }
Utilisation
Exemple d’utilisation de la fonction. Vous pouvez passer autant d’argument que vous le souhaité.
// Avec des fichiers require_once joinPath(__DIR__, 'menu.php'); require_once joinPath(__DIR__, '..', 'src', 'Entity.class.php'); // Avec des dossiers $global = global(joinPapth(__DIR__, '..', 'media', 'images'));
Bonus
C’est la même fonction, mais avec un test si celle-ci existe. Pratique pour pas rentrer en conflit avec une futur version de php ou si vous utilsier une librairie qui l’impelnte déjà.
if(!function_exists('joinPath')) { function joinPath() { $path = join(DIRECTORY_SEPARATOR, func_get_args()); if( is_dir($path) ): $path .= DIRECTORY_SEPARATOR; endif; return $path; } }