Exemplo n.º 1
0
<?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
Exemplo n.º 2
0
 /**
  * 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
 }