class Line_Counter {
private $filepath;
public function __construct($filepath) {
$this->filepath = $filepath;
}
public function countLines($extensions = array('php', 'html', 'css', 'js','htaccess')) {
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->filepath));
foreach ($it as $file) {
// if ($file->isDir() || $file->isDot())
if ($file->isDir()) {
continue;
}
$parts = explode('.', $file->getFilename());
$extension = end($parts);
if (in_array($extension, $extensions)) {
$files[$file->getPathname()] = count(file($file->getPathname()));
}
}
return $files;
}
public function showLines() {
echo '<pre>';
print_r($this->countLines());
echo '</pre>';
}
public function totalLines() {
return array_sum($this->countLines());
}
}
Sınıf bu şekildeydi. Şimdi ise kullanım için yeni bir nesne oluşturmalı , parametre göndererek sınıfa hangi dosya içindeki kodları okuyacağını söyleyeceğiz. Şöyle ki ;
// Yeni bir nesne türettik ve parametre gönderdik
$loc = new Line_Counter('LTEAdmin');
// Klasör içindeki her dosyanın teker teker kaç satır kod içerdiğini gösterir
$loc->showLines();
// Bu satırların toplamını bir değişkene atalım ve ekrana basalım
$total = $loc->totalLines();
echo $total;
Bazılarımız için yazdığımız kodların satır sayısının boyutu oldukça önemli.Belki takıntı belki de performans için. Sonuç olarak böylece belirttiğimiz dosya içindeki kodların satır sayılarını bulabilmekteyiz.
İyi çalışmalar.



