huang-yi / swoole-watcher
Swoole file watcher.
Installs: 14 783
Dependents: 2
Suggesters: 1
Security: 0
Stars: 14
Watchers: 3
Forks: 4
Open Issues: 0
Requires
- ext-swoole: ^4.0
- symfony/process: ^3.3|^4.0|^5.0
Requires (Dev)
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-10-14 11:59:38 UTC
README
This package provides a file watcher.
Installation
The current version only supports fswatch, so you'll have to install fswatch first.
# MacOS brew install fswatch # Linux (building from Source) wget https://github.com/emcrisostomo/fswatch/releases/download/{VERSION}/fswatch-{VERSION}.tar.gz tar -xzvf fswatch-{VERSION}.tar.gz cd fswatch-{VERSION} && ./configure && make && sudo make install && sudo ldconfig
A user who wishes to build fswatch should get a release tarball
Then, make sure you have swoole extension installed in PHP.
pecl install swoole
Finally, you may install the Swoole Watcher via Composer:
composer require huang-yi/swoole-watcher
Usage
Create your watcher script like this:
<?php require __DIR__ . '/vendor/autoload.php'; use HuangYi\Watcher\Commands\Fswatch; use HuangYi\Watcher\Watcher; $command = new Fswatch('/watched/path'); $command->setOptions([ '--recursive' => true, '--filter-from' => '/path/to/filter-rules-file', ]); $watcher = new Watcher($command); // Registers a callback for an event. $watcher->on(Fswatch::CREATED, function ($path) { // do something... }); // or registers a default callback for any event. $watcher->onChange(function ($events) { // do something... }); $watcher->start();
License
Swoole Watcher is open-sourced software licensed under the MIT license.