lav45 / watcher
File change watcher
Installs: 127
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/lav45/watcher
Requires
- php: >=8.2
- ext-inotify: *
Requires (Dev)
This package is auto-updated.
Last update: 2025-10-18 16:26:39 UTC
README
Watcher listens and calls event handlers that happen to your files.
Usage example
use Lav45\Watcher\Event; use Lav45\Watcher\Listener; use Lav45\Watcher\Watcher; $watcher = (new Watcher(new Listener())) ->on(IN_CREATE | IN_MOVED_TO, static function(Event $event) { echo 'Create ' . $event->path . "\n"; }) ->on(IN_DELETE | IN_MOVED_FROM, static function(Event $event) { echo 'Delete ' . $event->path . "\n"; }) ->on(IN_CLOSE_WRITE, static function(Event $event) { echo 'Update ' . $event->path . "\n"; }) ->withFilter(fn(Event $event): bool => \str_ends_with($event->path, '.json')) ->watchDirs([__DIR__]); while (true) { $watcher->read(); sleep(1); }
Testing
docker run --rm -it -v $(pwd):/app composer install --ignore-platform-req=ext-inotify docker run --rm -it -v $(pwd):/app composer test