-
Notifications
You must be signed in to change notification settings - Fork 0
FinderTool
Gérits Aurélien edited this page Feb 18, 2026
·
1 revision
FinderTool est une classe utilitaire située dans le namespace Magepattern\Component\File. Elle facilite les opérations courantes sur le système de fichiers (parcours de dossiers, calcul de taille, filtrage par extension) ainsi que la recherche récursive dans les tableaux.
Namespace : Magepattern\Component\File\FinderTool
- Scan Simple (scan) Liste le contenu d'un dossier (fichiers et sous-dossiers) à plat.
use Magepattern\Component\File\FinderTool;
$items = FinderTool::scan('/var/www/html/public');
// Retourne ['index.php', 'assets', 'images']- Scan Récursif (scanRecursive) Liste absolument tous les fichiers et dossiers de l'arborescence.
$allPaths = FinderTool::scanRecursive(__DIR__ . '/src');- Filtrage par Extension (filterByExtension) Puissante méthode pour inclure ou exclure des types de fichiers.
Cas A : Récupérer uniquement les fichiers PHP (Include)
// false = mode inclusion (ne garder que...)
$phpFiles = FinderTool::filterByExtension('/app', ['php'], false);Cas B : Exclure les fichiers temporaires (Exclude)
// true = mode exclusion (tout sauf...)
$cleanList = FinderTool::filterByExtension('/app', ['tmp', 'log', 'cache'], true);- Taille du dossier (getSize) Retourne la taille totale en octets (integer).
$bytes = FinderTool::getSize('/var/www/html/uploads');
if ($bytes !== false) {
echo "Taille : " . round($bytes / 1024 / 1024, 2) . " MB";
}Recherche Profonde (searchInArray) Vérifie si une valeur existe dans un tableau multidimensionnel (imbriqué).
$data = [
'config' => [
'db' => ['user' => 'root', 'pass' => '1234']
]
];
// Trouve '1234' même s'il est caché profondément
if (FinderTool::searchInArray('1234', $data)) {
echo "Mot de passe trouvé !";
}