Symfony2: Componente Finder para buscar ficheros y directorios

Finder es uno de los componentes que forman Symfony2, este componente nos permite buscar ficheros y directorios a través de una interfaz muy intuitiva. El otro día vi un tweet en el que se indicaba cómo listar los ficheros de un directorio en PHP plano y de ahí este artículo.

Hay mucha gente que usa el framework Symfony2, pero que desconoce una de las cosas más importantes que tiene y eso son los componentes que podemos usar por separado. No hace falta que usemos todo el framework cuando a veces sólo nos hace falta cierta funcionalidad que podemos cubrir con alguno o varios componentes.

En este caso vamos a ver unos ejemplos con el componente Finder. Este componente a mí particularmente me gusta mucho por la interfaz tan intuitiva que tiene.

El ejemplo que vi era listar los ficheros en un directorio recursivamente, ahora mismo no recuerdo cuántas líneas tenía, pero seguramente serían más de 25 líneas de código. Con Finder si queremos listar los ficheros se haría así:

Este era el ejemplo más sencillo, pero Finder nos proporciona una gran cantidad de métodos para configurar la búsqueda, como este ejemplo sacado de la documentación en el que podemos ver todo el potencial:

Como podemos ver, en vez de buscar en local, está buscando en Amazon S3 y lo que está buscando son ficheros cuyo nombre empiece por photos, con un tamaño menor a 100K y que la fecha de modificación sea desde hace 1 hora.

Hacer todo esto en PHP plano nos llevaría mucho tiempo y con el componente Finder lo podemos resolver de una forma muy elegante y en muy poco tiempo.

Para acabar vamos a ver unos cuantos ejemplos más sacados de la documentación.

Lo mejor de estos ejemplos es que no hace falta explicarlos porque se leen perfectamente.

Échale un vistazo a la documentación para ver todas las posibilidades.