futape / filesystem-utility
文件系统工具库
1.2.0
2020-01-12 11:41 UTC
Requires
- php: ~7.2.0
- futape/array-utility: ^2.0.0
- futape/string-utility: ^1.0.0
Requires (Dev)
- phpunit/phpunit: ^8.4
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