FileSystemWatcher::close

(PHP 8.6+, True Async 1.0)

public FileSystemWatcher::close(): void

Arrête la surveillance du système de fichiers. L’itération via foreach se termine après le traitement des événements restants dans le tampon.

Idempotent — les appels répétés sont sans danger.

Paramètres

Aucun paramètre.

Exemples

Exemple #1 Fermeture après réception de l’événement souhaité

<?php
use Async\FileSystemWatcher;

$watcher = new FileSystemWatcher('/tmp/uploads');

foreach ($watcher as $event) {
    if ($event->filename === 'ready.flag') {
        $watcher->close();
    }
}

echo "Fichier marqueur détecté\n";
?>

Exemple #2 Fermeture depuis une autre coroutine

<?php
use Async\FileSystemWatcher;
use function Async\spawn;
use function Async\delay;

$watcher = new FileSystemWatcher('/tmp/data');

spawn(function() use ($watcher) {
    delay(10_000);
    $watcher->close();
});

foreach ($watcher as $event) {
    processEvent($event);
}

echo "Surveillance terminée par délai d'attente\n";
?>

Voir aussi