aklump / glob
文件和目录路径通配符。
0.0.9
2024-09-11 19:24 UTC
Requires
- php: >=7.3
- aklump/gitignore: ^0.0
- crysalead/dir: ^2.0
- psr/simple-cache: ^1.0
- symfony/filesystem: ^4 || ^5.4 || ^6.4
Requires (Dev)
- aklump/phpswap: ^0.0.7
- phpunit/phpunit: ^9.6
README
这是 https://php.ac.cn/manual/en/function.glob.php 的替代品,支持 **
。
$matched_paths = \AKlump\Glob\Glob::glob('/foo/**/*.txt');
在某些情况下,您可以通过重复使用单个实例来获得更好的性能,如下所示。原因是每个实例在首次调用时都会生成一个文件缓存。缺点是您必须自己管理缓存,也就是说,如果文件系统发生变化,您必须使用新的实例。并且这种协调取决于您。 通过使用静态 ::glob
方法,您不需要管理缓存,因为每次调用都会生成一个新的实例。
$glob = new \AKlump\Glob\Glob(); $matched_paths = $glob('/foo/**/*.txt'); // This second call will rely on the internal cache of $glob and is theoretically faster. $matched_paths = $glob('/foo/**/*.md');
使用Composer安装
-
需要此包
composer require aklump/glob:^0.0
为什么需要新包
编写此包是为了解决当时可用的其他glob-replacement composer包中出现的不预期的结果。