PathJoin est la bibliothèque PHP pour normaliser et joindre des chemins de système de fichiers. Le but de cette bibliothèque est de faciliter le travail avec les chemins de système de fichiers irréguliers de la plate-forme et du séparateur du répertoire système.
Le but de la normalisation du chemin du fichier est de fournir une représentation cohérente de chemin de fichier. En d'autres termes, la normalisation dans cette bibliothèque se résoudra . et .. références de répertoires et condenser également plusieurs séparateurs de répertoires en un seul. Cela facilite beaucoup les problèmes courants lors de la comparaison des chemins les uns contre les autres.
Bien que PHP fournit une fonction intégrée realpath() , il n'est pas utilisable dans tous les cas car il fonctionne en utilisant le système de fichiers. Cette bibliothèque combine et normalise simplement les chemins en utilisant la gestion des chaînes. Il n'est pas nécessaire que les fichiers ou les répertoires soient lisibles ou même existent.
La documentation de l'API est disponible sur: http://kit.riimu.net/api/pathjoin/
La façon la plus simple d'installer cette bibliothèque est d'utiliser le compositeur pour gérer vos dépendances. Pour installer cette bibliothèque via Composer, suivez simplement ces deux étapes:
Acquérir le composer.phar en exécutant l'installation de ligne de commande Composer dans la racine de votre projet.
Une fois que vous avez exécuté le script d'installation, vous devriez avoir le fichier composer.phar dans votre racine de projet et vous pouvez exécuter la commande suivante:
php composer.phar require "riimu/kit-pathjoin:^1.2"
Après avoir installé cette bibliothèque via Composer, vous pouvez charger la bibliothèque en incluant le fichier vendor/autoload.php généré par Composer pendant l'installation.
Si vous connaissez déjà comment utiliser Composer, vous pouvez également ajouter la bibliothèque en tant que dépendance en ajoutant le fichier composer.json suivant à votre projet et en exécutant la commande composer install :
{
"require" : {
"riimu/kit-pathjoin" : " ^1.2 "
}
} Si vous ne souhaitez pas utiliser Composer pour charger la bibliothèque, vous pouvez également télécharger la bibliothèque manuellement en téléchargeant la dernière version et en extraction du dossier src sur votre projet. Vous pouvez ensuite inclure le fichier src/autoload.php fourni pour charger les classes de bibliothèque.
Cette bibliothèque fournit deux méthodes pratiques, Path::normalize() et Path::join() . Ces deux méthodes fonctionnent de manière très similaire. La principale différence est que si la méthode join() peut accepter plusieurs chemins à joindre, la normalize() n'acceptera qu'un seul chemin. Les deux méthodes rendront un chemin normalisé en conséquence.
L'exemple suivant contiendra de nombreux cas d'utilisation différents de la bibliothèque:
<?php
require ' vendor/autoload.php ' ;
use Riimu Kit PathJoin Path ;
// Both of the following will output 'foo/bar' on Unix and 'foobar' on Windows
echo Path:: normalize ( ' foo/bar ' ) . PHP_EOL ;
echo Path:: join ( ' foo ' , ' bar ' ) . PHP_EOL ;
// The join method accepts multiple arguments or a single array
echo Path:: join ( ' foo ' , ' bar ' , ' baz ' ) . PHP_EOL ; // outputs 'foo/bar/baz'
echo Path:: join ([ ' foo ' , ' bar ' , ' baz ' ]) . PHP_EOL ; // outputs 'foo/bar/baz'
// The '.' and '..' directory references will be resolved in the paths
echo Path:: normalize ( ' foo/./bar/../baz ' ) . PHP_EOL ; // outputs 'foo/baz'
echo Path:: join ([ ' foo/./ ' , ' bar ' , ' ../baz ' ]) . PHP_EOL ; // outputs 'foo/baz'
// Only the first path can denote an absolute path in the join method
echo Path:: join ( ' /foo ' , ' /bar/baz ' ) . PHP_EOL ; // outputs '/foo/bar/baz'
echo Path:: join ( ' foo ' , ' /bar ' ) . PHP_EOL ; // outputs 'foo/bar'
echo Path:: join ( ' foo ' , ' ../bar ' , ' baz ' ) . PHP_EOL ; // outputs 'bar/baz'
echo Path:: join ( '' , ' /bar ' , ' baz ' ) . PHP_EOL ; // outputs 'bar/baz'
// Relative paths can start with a '..', but absolute paths cannot
echo Path:: join ( ' /foo ' , ' ../../bar ' , ' baz ' ) . PHP_EOL ; // outputs '/bar/baz'
echo Path:: join ( ' foo ' , ' ../../bar ' , ' baz ' ) . PHP_EOL ; // outputs '../bar/baz'
// Empty paths will result in a '.'
echo Path:: normalize ( ' foo/.. ' ) . PHP_EOL ;
echo Path:: join ( ' foo ' , ' bar ' , ' ../.. ' ) . PHP_EOL ; Le Path::normalize() accepte également un deuxième paramètre $prependDrive qui prend une valeur booléenne et par défaut est vrai. Sur les plates-formes Windows, la lettre de lecteur est une partie importante du chemin absolu. Ainsi, lorsque le paramètre est défini sur true, la méthode appliquera la lettre de lecteur du répertoire de travail actuel sur les chemins absolus si le chemin absolu n'en fournit pas lui-même.
L'exemple suivant est vrai pour les systèmes Windows, si le répertoire de travail est situé sur le lecteur C::
<?php
require ' vendor/autoload.php ' ;
use Riimu Kit PathJoin Path ;
echo Path:: normalize ( ' /foo/bar ' ) . PHP_EOL ; // outputs 'C:fooBar'
echo Path:: normalize ( ' D:/foo/bar ' ) . PHP_EOL ; // outputs 'D:fooBar'
echo Path:: normalize ( ' /foo/bar ' , false ) . PHP_EOL ; // outputs 'fooBar' Cette bibliothèque est le droit d'auteur (C) 2014-2017 Riikka Kalliomäki.
Voir la licence pour la licence et la copie des informations.