FileSystemWatcher::__construct
(PHP 8.6+, True Async 1.0)
public FileSystemWatcher::__construct(
string $path,
bool $recursive = false,
bool $coalesce = true
)
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
Errorest levée. - recursive
- Si
true, les répertoires imbriqués sont également surveillés. La valeur par défaut estfalse. - 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 drapeauxrenamed/changedvia 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