<?php /* * Created on 25/02/2008 * utils.FileSystem.test.php */ include_once 'core.FileSystem.class.php'; // Ok echo "<pre>"; print_r(FileSystem::getFileNames(".")); // Todos los archivos print_r(FileSystem::getFileNames(".", "/\\.php\$/i")); // Todos los php print_r(FileSystem::getFileNames(".", "/^utils\\.(.*)\\.php\$/i")); // Todos los php del paquete utils print_r(FileSystem::getFileNames(".", "/(.*)\\.php\$/i", array(1))); // Todos los php, pero sin el .php (ver que la regexp tiene un grupo y en el array selecciono ese grupo) print_r(FileSystem::getFileNames(".", "/^utils\\.(.*)\\.php\$/i", array(1, 5, 0))); // Todos los php del paquete utils, idem anterior, ahora sin el "utils." echo "Todos los subdirectorios:<br/>"; print_r(FileSystem::getSubdirNames(".")); // Todos los subdirectorios echo "Todos los subdirectorios que empiezan con mayus:<br/>"; print_r(FileSystem::getSubdirNames(".", "/^[A-Z]/")); // Todos los subdirectorios que empiezan con mayusculas. echo "Todos los subdirectorios que tienen '_':<br/>"; print_r(FileSystem::getSubdirNames(".", "/.*_.*/")); // Todos los subdirectorios que tienen un guion bajo en el nombre echo "</pre>"; //FileSystem::createEmptyFile("./pepe.popo"); // Ok
/** * showStats * Muestra cantidad de lineas (con comentarios) para el core de Yupp, totales y por archivo. * * @todo mostrar LOCs por modulo de la core. */ function showStats() { ob_start(); // agarro el output y devuelvo el string // Line Count... $dirs = array("./core", "./core/app/templates", "./core/basic", "./core/config", "./core/db", "./core/db/criteria2", "./core/http", "./core/layout", "./core/mvc", "./core/mvc/form", "./core/mvc/view/error", "./core/mvc/view/scaffoldedViews", "./core/persistent", "./core/persistent/serialize", "./core/routing", "./core/support", "./core/testing", "./core/utils", "./core/validation", "./core/web", "./apps/core", "./apps/core/controllers", "./apps/core/views"); $stats = new YuppStats(); $totalLines = 0; $fileCounter = 0; foreach ($dirs as $dir) { $files = FileSystem::getFileNames($dir, "/(.*\\.php)\$/i", array(1)); //print_r( $files ); foreach ($files as $file) { $filePath = $dir . "/" . $file; $fileCounter++; $res = $stats->lineStatisticsByFile($filePath); $lineCount = $stats->lineCount($res); // Estoy buffereando el output! echo $fileCounter . ") " . $filePath . ": " . $lineCount . "<br/>"; $totalLines += $lineCount; } } echo "<hr/>"; echo "Archivos totales: {$fileCounter}<br/>"; echo "Lineas totales (sin comentarios): {$totalLines}<br/>"; echo "Lineas promedio por archivo (sin comentarios): " . $totalLines / $fileCounter . "<br/>"; echo "<hr/>"; return ob_get_clean(); // devuelve el output }