FileSystemWatcher::__construct
(PHP 8.6+, True Async 1.0)
public FileSystemWatcher::__construct(
string $path,
bool $recursive = false,
bool $coalesce = true
)
Crea un observador e inicia inmediatamente el seguimiento de cambios. Los eventos se almacenan en el búfer desde el momento de la creación, incluso si la iteración aún no ha comenzado.
Parámetros
- path
- La ruta a un archivo o directorio a observar.
Si la ruta no existe o es inaccesible, se lanza un
Error. - recursive
- Si es
true, los directorios anidados también se monitorean. El valor predeterminado esfalse. - coalesce
- Modo de almacenamiento en búfer de eventos.
true(predeterminado) — los eventos se agrupan por la clavepath/filename. Los cambios repetidos en el mismo archivo fusionan los indicadoresrenamed/changedmediante OR.false— cada evento del sistema operativo se almacena como un elemento separado en un búfer circular.
Errores/Excepciones
Error— la ruta no existe o no está disponible para observación.
Ejemplos
Ejemplo #1 Observar un directorio
<?php
use Async\FileSystemWatcher;
$watcher = new FileSystemWatcher('/tmp/mydir');
foreach ($watcher as $event) {
echo "{$event->filename}\n";
$watcher->close();
}
?>
Ejemplo #2 Observación recursiva en modo sin agrupación
<?php
use Async\FileSystemWatcher;
$watcher = new FileSystemWatcher('/var/log', recursive: true, coalesce: false);
foreach ($watcher as $event) {
echo "[{$event->path}] {$event->filename}\n";
}
?>
Ver también
- FileSystemWatcher::close — Detener la observación
- FileSystemWatcher — Descripción general del concepto