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 Рекурсивне спостереження в сирому режимі
<?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 — Огляд концепції