2011-11-01 83 views

Respuesta

5

no he encontrado una manera de hacer eso en NetBeans (en cualquier sistema operativo), pero supongo que se podría salirse con algo como lo siguiente:

Guardar este pequeño script de algún lugar donde se puede encontrar: (digamos "cntln.php")

<?php 

function countLinesInFile($fileInfo) 
{ 
    return count(file($fileInfo)); 
} 

function countLinesInDir($directory, $filePattern) 
{ 
    $total = 0; 
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)); 
    foreach($iterator as $fileInfo) 
    { 
     if (-1 < preg_match($filePattern, $fileInfo->getFileName())) 
     { 
      $total += countLinesInFile($fileInfo); 
     } 
    } 
    return $total; 
} 

function usage($argv) 
{ 
    printf("usage: php -q %s <directory> <filematch>\n", reset($argv)); 

    printf(" - directory: path to the root directory of a project.\n"); 
    printf(" - filematch: regex pattern for files to include.\n"); 

    return 1; 
} 

if (count($argv) < 3) 
{ 
    die(usage($argv)); 
} 

printf("%d\n", countLinesInDir($argv[1], $argv[2])); 

y utilizarlo en la línea de comandos (cmd.exe):

c:>php -q cntln.php "C:\projects\foo" "~\.php$~"

Con algunos pequeños trucos, estoy seguro de que puede crear un acceso directo al mismo que pueda colocar en la barra de inicio rápido o usarlo en otras herramientas.

Podría tener errores desde que lo escribí ahora, principalmente en el cuadro de texto SO.

+0

tenga en cuenta que esto verá comentarios, etc. como código. pero podría cambiar 'countLinesInFile' para encontrar líneas que no empiecen con" ~ \ s +? (\/\/| #) ~ "para obtener una lectura algo más precisa sin comentarios. – Kris

+0

netbeans no ofrece tal característica para los proyectos de php aparentemente ... así que esta es una solución que funciona independiente de ide (+1) y es suficiente por ahora. Gracias – 0xDEADBEEF

0

puede utilizar ProjectCodeMeter para contar líneas lógicas de código (LLOC) en cualquier proyecto PHP (que es consciente de comentarios y líneas vacías)

2

que estaba buscando lo mismo y tropecé con esta pregunta, pero la acepté la respuesta es solo para LOC, no para LLOC, y ProjectCodeMeter parece ser un poco exagerado.

Lo que encontré como una solución de trabajo para mí: phploc por Sebastian Bergmann. Funciona de maravilla.

0

Puede usar PDepend o PHPMetrics. Ambos son gratuitos, de código abierto proyecta

Cuestiones relacionadas