A blog about data, information and Tech by Mario Alberich

        

Phing (VIII) filesets, filedirs, includes, excludes

Otra de las potentes características de Phing es la posibilidad de procesar en bloque un conjunto de archivos que coincida con un determinado patrón de nombre, ruta, o una combinación de ellas. Por ejemplo, la siguiente instrucción:





Permite recoger todos los archivos dentro de /etc/httpd/ (incluyendo subdirectorios), y también el archivo php.ini.




En este segundo caso  recoge todos los archivos .php que existieran en cualquier directorio dentro de "/ruta/a/mi/proyecto/php", y excluye todos los archivos que contengan en su nombre la palabra "Test" (los archivos con pruebas unitarias)

En ambos casos, el asterisco simple sirve para lo mismo que en la consola: como comodín. Sin embargo, el doble asterisco es una opción muy potente para buscar recursivamente en los subdirectorios y también dentro de los nombres. Así, la expresión:

...

...

Puede encontrar tanto un archivo denominado  test_nuevo.xml as well as to test/test_viejo.xml, por ejemplo. Es decir, el doble asterisco ** "supera la barrera" de los directorios y sirve como comodín en cualquier parte del path del archivo.

© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.