# EvStat::__construct

(PECL ev >= 0.2.0)

EvStat::__construct — Constructs EvStat watcher object

### Description

public EvStat::__construct ( string `$path` , float `$interval` , callable `$callback` [, mixed `$data` = `NULL` [, int `$priority` = 0 ]] )

Constructs EvStat watcher object and starts the watcher automatically.

### Parameters

`path`

  The path to wait for status changes on.

`interval`

  Hint on how quickly a change is expected to be detected and should normally be specified as `0.0` to let libev choose a suitable value.

`callback`

  See Watcher callbacks .

`data`

  Custom data associated with the watcher.

`priority`

  Watcher priority

### Return Values

Returns EvStat watcher object on succes.

### Examples

Example #1 Monitor changes of /var/log/messages

`<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
echo "/var/log/messages changed\n";
$attr = $w->attr();
if ($attr['nlink']) {
printf("Current size: %ld\n", $attr['size']);
printf("Current atime: %ld\n", $attr['atime']);
printf("Current mtime: %ld\n", $attr['mtime']);
} else {
fprintf(STDERR, "`messages` file is not there!");
$w->stop();
}
});
Ev::run();
?>`