FileSystemWatcher::__construct
(PHP 8.6+, True Async 1.0)
public FileSystemWatcher::__construct(
string $path,
bool $recursive = false,
bool $coalesce = true
)
Создаёт наблюдатель и немедленно начинает отслеживание изменений. События буферизуются с момента создания, даже если итерация ещё не началась.
Параметры
- path
- Путь к файлу или директории для наблюдения.
Если путь не существует или недоступен — выбрасывается
Error. - recursive
- Если
true— отслеживаются также вложенные директории. По умолчаниюfalse. - coalesce
- Режим буферизации событий.
true(по умолчанию) — события группируются по ключуpath/filename. Повторные изменения одного файла объединяют флагиrenamed/changedчерез OR.false— каждое событие от ОС сохраняется как отдельный элемент в циклическом буфере.
Ошибки/Исключения
Error— путь не существует или недоступен для наблюдения.
Примеры
Пример #1 Наблюдение за директорией
<?php
use Async\FileSystemWatcher;
$watcher = new FileSystemWatcher('/tmp/mydir');
foreach ($watcher as $event) {
echo "{$event->filename}\n";
$watcher->close();
}
?>
Пример #2 Рекурсивное наблюдение в raw-режиме
<?php
use Async\FileSystemWatcher;
$watcher = new FileSystemWatcher('/var/log', recursive: true, coalesce: false);
foreach ($watcher as $event) {
echo "[{$event->path}] {$event->filename}\n";
}
?>
См. также
- FileSystemWatcher::close — Остановить наблюдение
- FileSystemWatcher — Обзор концепции