Skip to content
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

Méthodes Système de Fichiers

  1. 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']
  1. Scan Récursif (scanRecursive) Liste absolument tous les fichiers et dossiers de l'arborescence.
$allPaths = FinderTool::scanRecursive(__DIR__ . '/src');
  1. 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);
  1. 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";
}

Utilitaires Tableaux

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é !";
}

Clone this wiki locally