aklump / glob
File and directory path globbing.
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
A replacement for http://www.php.net/manual/en/function.glob.php that provides support for **
.
$matched_paths = \AKlump\Glob\Glob::glob('/foo/**/*.txt');
In some cases you may be able to achieve better performance by reusing a single instance as shown below. The reason is that each instance generates a file cache when it's first called. The downside is that you MUST manage the cache yourself, that is, if the file system changes, you must use a new instance. And that coordination is up to you. By using the static ::glob
method, you do not need to manage caching, as each call produces a new instance.
$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');
Install with Composer
-
Require this package:
composer require aklump/glob:^0.0
Why a New Package
This package was written to address unexpected results from the other available glob-replacement composer packages available at the time.