Create Symfony\Component\Finder instances by configuration
$ composer require schnittstabil/finder-by-config
{
...
"require": {
"schnittstabil/finder-by-config": ...
},
"extra": {
"you/your-package": {
"simple": ["src", "tests", "composer.json"],
"extended": {
"in": ["."],
"name": ["*.php", "*.json"],
"notName": ["*Test.php"],
"size": ["> 1K"],
"exclude": ["build", "vendor"],
"ignoreDotFiles": true,
"ignoreVCS": true,
"followLinks": false,
"ignoreUnreadableDirs": false
}
}
}
}
$config = json_decode(file_get_contents('composer.json'))->extra->{'you/your-package'};
$finder = \Schnittstabil\FinderByConfig\FinderByConfig::createFinder($config->simple);
$finder = \Schnittstabil\FinderByConfig\FinderByConfig::createFinder($config->extended);
For details see the Finder Component Documentation.
Option | Type | Description |
---|---|---|
directories |
bool |
directories only |
files |
bool |
files only |
depth |
`string | string[]` |
date |
`string | string[]` |
name |
`string | string[]` |
notName |
`string | string[]` |
contains |
`string | string[]` |
notContains |
`string | string[]` |
path |
`string | string[]` |
notPath |
`string | string[]` |
size |
`string | string[]` |
exclude |
`string | string[]` |
ignoreDotFiles |
bool |
exclude directories and files starting with a dot |
ignoreVCS |
bool |
exclude version control directories |
addVCSPattern |
`string | string[]` |
sortByName |
bool |
sorts by name |
sortByType |
bool |
sorts by type |
sortByAccessedTime |
bool |
sorts by the last accessed time |
sortByChangedTime |
bool |
sorts by the last inode changed time |
sortByModifiedTime |
bool |
sorts by the last modified time |
followLinks |
bool |
follow symlinks |
ignoreUnreadableDirs |
bool |
ignore unreadable directories |
in |
`string | string[]` |
MIT © Michael Mayer