(PECL ev >= 0.2.0)
Класс EvStat отслеживает путь файловой системы на предмет изменений атрибутов. Класс вызывает для этого пути метод stat() через регулярные интервалы времени, или когда операционная система сигнализирует об изменении, и смотрит, изменился ли путь по сравнению с прошлым разом. Класс вызывает callback-функцию, если объект наблюдения изменился.
Путь не обязан существовать: изменение состояния с «путь существует»
на «путь не существует» — это изменение состояния, как и любое другое.
На условие «путь не существует» указывает значение 0
элемента с ключом 'nlink'
в массиве, который возвращает
метод EvStat::attr().
Путь не должен оканчиваться слешем или содержать специальные
компоненты наподобие '.'
или ..
.
Путь должен быть абсолютным. Если задать относительный путь и сменить
рабочий каталог, то поведение будет неопределённым.
Поскольку нет переносимого интерфейса оповещения об изменениях,
переносимая реализация просто регулярно вызывает метод
stat() для пути и смотрит, не изменился объект наблюдения.
Поэтому рекомендуют задавать интервал опроса. Если интервал
опроса задали равным рекомендуемому значению 0.0
,
то метод будет использовать подходящее неопределённое значение по умолчанию,
которое равно примерно 5 секундам и изменяется динамически.
Модуль libev также наложит минимальный интервал,
значение которого примерно равно 0.1
,
но обычно это избыточно.
Этот тип наблюдателя не рассчитан на большое количество EvStat-наблюдателей, поскольку даже при работе с уведомлениями об изменениях, которые поддерживает ОС, это потребует дополнительных ресурсов.
$path
,$interval
,$callback
,$data
= null
,$priority
= 0
$path
,$interval
,$callback
,$data
= null
,$priority
= 0
Только чтение.
Подсказывает, как часто метод будет обнаруживать изменения, и обычно ровно
0.0
, что разрешает модулю libev
самому определять интервал.
Только чтение. Путь, по которому метод отслеживает изменения.