Daniel ab1334c0cf the whole shebang 10 年之前
..
Adapter ab1334c0cf the whole shebang 10 年之前
Comparator ab1334c0cf the whole shebang 10 年之前
Exception ab1334c0cf the whole shebang 10 年之前
Expression ab1334c0cf the whole shebang 10 年之前
Iterator ab1334c0cf the whole shebang 10 年之前
Shell ab1334c0cf the whole shebang 10 年之前
Tests ab1334c0cf the whole shebang 10 年之前
.gitignore ab1334c0cf the whole shebang 10 年之前
CHANGELOG.md ab1334c0cf the whole shebang 10 年之前
Finder.php ab1334c0cf the whole shebang 10 年之前
Glob.php ab1334c0cf the whole shebang 10 年之前
LICENSE ab1334c0cf the whole shebang 10 年之前
README.md ab1334c0cf the whole shebang 10 年之前
SplFileInfo.php ab1334c0cf the whole shebang 10 年之前
composer.json ab1334c0cf the whole shebang 10 年之前
phpunit.xml.dist ab1334c0cf the whole shebang 10 年之前

README.md

Finder Component

Finder finds files and directories via an intuitive fluent interface.

use Symfony\Component\Finder\Finder;

$finder = new Finder();

$iterator = $finder
  ->files()
  ->name('*.php')
  ->depth(0)
  ->size('>= 1K')
  ->in(__DIR__);

foreach ($iterator as $file) {
    print $file->getRealpath()."\n";
}

But you can also use it to find files stored remotely like in this example where we are looking for files on Amazon S3:

$s3 = new \Zend_Service_Amazon_S3($key, $secret);
$s3->registerStreamWrapper("s3");

$finder = new Finder();
$finder->name('photos*')->size('< 100K')->date('since 1 hour ago');
foreach ($finder->in('s3://bucket-name') as $file) {
    print $file->getFilename()."\n";
}

Resources

You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/Finder/
$ composer.phar install --dev
$ phpunit