Vous vous êtes surement déjà demandé comment rechercher un fichier ou un répertoire dans votre projet Symfony, sachez qu’il existe une classe prévu pour ca : sfFinder.
La classe sfFinder
Comme nous l’avons dis la classe sfFinder permet de rechercher des fichiers ou des repertoires dans votre projet, voyons comment cela fonctionne :
$files = sfFinder::type('file')
->relative()
->maxdepth(0)
->in('/home/netha/mes_fichiers');
Dans cet exemple $files nous retournera un array contenant tous les noms ( relative() ) des fichiers ( type(‘file’) ) de votre répertoire /home/netha/mes_fichiers ( in(‘/home/netha/mes_fichiers’) ).
Il suffit ensuite d’exploiter les résultats avec une boucle foreach pour extraire les données de l’array.
foreach ($files as $file):
echo $file;
endforeach;
Voyons maintenant un peu plus en détail les méthodes offertes par sfFinder :
type(): peut prendre la valeur file, dir ou any pour rechercher respectivement des fichiers, des répertoires, ou les deux.relative(): si il n’est pas préciser sfFinder retournera l’emplacement complet du fichier/répertoire depuis la racine de votre serveur, sinon on obtient uniquement le nom du fichier/répertoire.maxdepth(): il indique si sfFinder doit rechercher dans les sous répertoires. Si il est à 0 on reste dans le répertoire courant, à 1 on explore le premier niveau de sous répertoire, à 2 le deuxième et ainsi de suite…in(): indique le répertoire dans lequel on fait la recherche, vous pouvez utilisersfConfig::get()pour récupérer l’emplacement des répertoires de votre projet
Aucun commentaire