6b02541880
* 2.6: Fix small coding style [2.3] Static Code Analysis for Components [Form] fixed phpdoc CS: Convert double quotes to single quotes Fixed MongoODM entity loader. Improved loading behavior of entities and documents by reusing entity loader. [Validator] added Japanese translation for unmatched charset (id: 80) [WebProfilerBundle] fixed undefined buttons. [WebProfilerBundle] Fix javascript toolbar on IE8 [DependencyInjection] Highest precedence for user parameters bumped Symfony version to 2.6.6 [Translation][MoFileLoader] fixed load empty translation. updated VERSION for 2.6.5 updated CHANGELOG for 2.6.5 bumped Symfony version to 2.3.27 updated VERSION for 2.3.26 update CONTRIBUTORS for 2.3.26 updated CHANGELOG for 2.3.26 [HttpKernel] UriSigner::buildUrl - default params for http_build_query Conflicts: src/Symfony/Bridge/Propel1/Tests/DataCollector/PropelDataCollectorTest.php src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php src/Symfony/Component/HttpKernel/Kernel.php src/Symfony/Component/Security/Http/Firewall/AbstractPreAuthenticatedListener.php src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf |
||
---|---|---|
.. | ||
Adapter | ||
Comparator | ||
Exception | ||
Expression | ||
Iterator | ||
Shell | ||
Tests | ||
.gitignore | ||
CHANGELOG.md | ||
composer.json | ||
Finder.php | ||
Glob.php | ||
LICENSE | ||
phpunit.xml.dist | ||
README.md | ||
SplFileInfo.php |
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";
}
The iterator returns instances of Symfony\Component\Finder\SplFileInfo\SplFileInfo.
Besides the build-in methods inherited from \SplFileInfo (getPerms()
, getSize()
, ...),
you can also use getRelativePath()
and getRelativePathname()
. Read the
official documentation for more information.
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 install
$ phpunit