FileSystemWatcher::__construct
(PHP 8.6+, True Async 1.0)
public FileSystemWatcher::__construct(
string $path,
bool $recursive = false,
bool $coalesce = true,
int $debounceMs = 0,
int $maxHoldMs = 0,
array $extensions = []
)Crée un observateur et commence immédiatement le suivi des modifications. Les événements sont mis en tampon dès la création, même si l'itération n'a pas encore commencé.
Paramètres
path : Le chemin vers un fichier ou un répertoire à surveiller. Si le chemin n'existe pas ou n'est pas accessible, une Error est levée.
recursive : Si true, les répertoires imbriqués sont également surveillés. La valeur par défaut est false.
coalesce : Mode de mise en tampon des événements. true (par défaut) --- les événements sont regroupés par clé path/filename. Les modifications répétées sur le même fichier fusionnent les drapeaux renamed/changed via un OU logique. false --- chaque événement du système d'exploitation est stocké comme un élément séparé dans un tampon circulaire.
Erreurs/Exceptions
Error--- le chemin n'existe pas ou n'est pas disponible pour la surveillance.
Exemples
Exemple #1 Surveillance d'un répertoire
<?php
use Async\FileSystemWatcher;
$watcher = new FileSystemWatcher('/tmp/mydir');
foreach ($watcher as $event) {
echo "{$event->filename}\n";
$watcher->close();
}
?>Exemple #2 Surveillance récursive en mode brut
<?php
use Async\FileSystemWatcher;
$watcher = new FileSystemWatcher('/var/log', recursive: true, coalesce: false);
foreach ($watcher as $event) {
echo "[{$event->path}] {$event->filename}\n";
}
?>Voir aussi
- FileSystemWatcher::close --- Arrêter la surveillance
- FileSystemWatcher --- Vue d'ensemble du concept