linaphp/resource-watcher 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

linaphp/resource-watcher

最新稳定版本:v0.1.2

Composer 安装命令:

composer require linaphp/resource-watcher

包简介

A simple resource watcher using Symfony Finder

README 文档

README

A simple resource watcher for getting changes of your filesystem.

** This is a fork of the original package by Yosymfony. **

Build Status Latest Stable Version

Installation

Use Composer to install this package:

composer require linaphp/resource-watcher

How to use?

This package uses Symfony Finder to set the criteria to discover file changes.

use Symfony\Component\Finder\Finder;
use LinaPhp\ResourceWatcher\Crc32ContentHash;
use LinaPhp\ResourceWatcher\ResourceWatcher;
use LinaPhp\ResourceWatcher\ResourceCachePhpFile;

$finder = new Finder();
$finder->files()
    ->name('*.md')
    ->in(__DIR__);

$hashContent = new Crc32ContentHash();
$resourceCache = new ResourceCachePhpFile('/path-cache-file.php');
$watcher = new ResourceWatcher($resourceCache, $finder, $hashContent);
$watcher->initialize();

// delete a file

$result = $watcher->findChanges();

$result->getDeletedResources() // array of deleted filenames. e.g: "/home/yosymfony/README.md"

Finding changes

Every time the method findChanges() of the class ResourceWatcher is invoked, it returns an object type ResourceWatcherResult with information about all the changes producced in the filesystem. The ResourceWatcherResult class has the following methods:

  • getNewFiles(): Returns an array with the paths of the new resources.
  • getDeteledFiles(): Returns an array with the paths of deleted resources.
  • getUpdatedFiles(): Returns an array with the paths of the updated resources.
  • hasChanges(): Are they changes in your resources?.

Hashing alternatives

Two hashing classes are included in the package:

  • LinaPhp\ResourceWatcher\Crc32ContentHash, which hashes the content of the file
  • LinaPhp\ResourceWatcher\Crc32MetaDataHash, which hashes the filename and its last modified timestamp

Rebuild cache

To rebuild the resource cache uses rebuild() method of the class ResourceWatcher.

Relative paths with the resource cache

Using relative paths with the resource cache is possible thanks to the ResourceWatcher's method enableRelativePathWithCache:

$watcher = new ResourceWatcher($resourceCache, $finder, $hashContent);
$watcher->enableRelativePathWithCache()

The ResourceWatcherResult object will has relative paths.

Unit tests

You can run the unit tests with the following command:

$ composer test

统计信息

  • 总下载量: 41
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 19
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-04-07