futape/filesystem-utility

文件系统工具库

1.2.0 2020-01-12 11:41 UTC

This package is auto-updated.

Last update: 2024-09-12 22:06:00 UTC


README

本库提供了一套用于处理文件系统的工具。

实用函数作为抽象类中的静态函数实现,这些类不期望被实例化。

此外,本库还提供了一个FilteredDirectoryIterator(见下文)。

大多数函数接受路径参数,这些参数由Paths::normalize()支持并通过它传递。大多数函数的结果也通过该函数处理。

安装

composer require futape/filesystem-utility

用法

路径

此实用类提供用于处理路径的函数。
尽可能的情况下,此实用类完全独立于真实的底层文件系统。

use Futape\Utility\Filesyste\Paths;

echo Paths::strip('/foo/bar/baz', '/foo'); // "./bar/baz"

文件

用于处理文件系统的实用类。

use Futape\Utility\Filesyste\Files;

touch('./foo');
var_dump(Files::remove('./foo')); // true

FilteredDirectoryIterator

一个迭代器,遍历目录内容,符合指定的标准。

use Futape\Utility\Filesyste\FilteredDirectoryIterator;

mkdir('./foo');
touch('./foo/bar');
symlink('./foo/bar', './foo/baz');
mkdir('./foo/bam');
var_dump(
    iterator_to_array(
        (new FilteredDirectoryIterator('./foo'))
            ->setDotFiles(false)
            ->setFileTypes(FilteredDirectoryIterator::FILE_TYPE_FILE | FilteredDirectoryIterator::FILE_TYPE_DIRECTORY)
    )
); // [DirectoryIterator("./foo/bar"), DirectoryIterator("./foo/bam")]

测试

该库通过PHP Unit单元测试进行测试。

要执行测试,安装composer依赖项(包括开发依赖项),切换到tests目录,并运行以下命令

../vendor/bin/phpunit