The Finder component provides utilities to find files/directories via multiple filter and sort methods. In Symfony 6.2 we're adding new sorting methods to it.
Contributed by
Robert Fischer
in #46591.
The Finder component already includes methods to filter files/directories by file extension and or/size, but you couldn't sort results based on them. In Symfony 6.2 we've added new methods to sort by file extension and/or size:
use Symfony\Component\Finder\Finder;
$finder = (new Finder())
->in(__DIR__)
// ...
->sortByExtension()
->sortBySize();
Contributed by
Hubert Moreau
in #46126.
In Symfony 6.2 we've also added a new method to sort files/directories by their
names in a case-insensitive way. Internally, it uses the strcasecmp()
PHP
function to perform the sorting:
$finder = (new Finder())
->in(__DIR__)
// ...
// this sorts results case-insensitive and using the "machine sorting" algorithm
// e.g. "file1.txt", "File10.txt", "File2.txt", "file3.txt"
->sortByCaseInsensitiveName()
// this sorts results case-insensitive and using the "natural sorting" algorithm
// e.g. "file1.txt", "File2.txt", "file3.txt", "File10.txt"
->sortByCaseInsensitiveName(true);
Because of their own nature, all these new methods need to retrieve all results before sorting them, so they can impact performance.
<hr style="margin-bottom: 5px" />
<div style="font-size: 90%">
<a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
</div>
Login to add comment
Other posts in this group

Today we are happy to announce a new Symfony initiative called Symfony AI - with the goal to provide a comprehensive set of components and bundles designed to bring powerful AI capabilities directly i

SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on:
November 25 & 26: 2 workshops days with several topics to learn, practice and improve your skills

This week, development on the upcoming Symfony 8.0 version continued with the removal of deprecated features and the marking of several classes as final. In addition, we published two new case studies

At Wide, Micropole’s digital agency, they help leading brands modernize their digital infrastructures while ensuring scalability, security, and performance. When Audi France approached them to migrate

Vente-unique.com, a leading European online retailer of furniture and home decor, operates in 11 countries, powered by a team of 400 professionals and serving more than 3 million customers. From 15 ye

This week, Symfony 6.4.23, 7.2.8 and 7.3.1 maintenance versions were released. Meanwhile, the upcoming Symfony 7.4 version continued adding new features such as better controller helpers, more precisi

Symfony 6.4.23 has just been released. Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in you