aklump / glob
File and directory path globbing.
Installs: 142
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/aklump/glob
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.