您的位置:首页 > 教程 > PHP编程 > PHP实现统计代码行数小工具

PHP实现统计代码行数小工具

2020-09-08 07:27:40 来源:易采站长站 作者:

PHP实现统计代码行数小工具,代码,有多少,文件,小工具,行数

PHP实现统计代码行数小工具

易采站长站,站长之家为您整理了PHP实现统计代码行数小工具的相关内容。

本文实例为大家分享了PHP实现统计代码行数小工具,供大家参考,具体内容如下

为了方面统计编程代码行数,做了一个小工具。

自动统计指定目录以及目录下的所有文件。

<?php class TotalCode {  /** * 统计当前文件有多少行代码, * @return TotalCodeInfo */ public function totalByFile($fullFileName) { $fileContent = file_get_contents($fullFileName); $lines = explode("\n", $fileContent); $lineCount = count($lines);  for($i = $lineCount -1; $i > 0; $i -= 1) {  $line = $lines[$i];  if ($line != "") break;  $lineCount -= 1; //最后几行是空行的要去掉。 } unset($fileContent); unset($lines);  $totalCodeInfo = new TotalCodeInfo(); $totalCodeInfo->setFileCount(1); $totalCodeInfo->setLineCount($lineCount); return $totalCodeInfo; }  /** * 统计当前目录下(含子目录) * 有多少文件,以及多少行代码 *  * totalInfo = array( "fileCount"=>?, "lineCount"=>? ); *  * @return TotalCodeInfo  */ public function totalByDir($dirName) { $fileList = scandir($dirName); $totalCodeDir = new TotalCodeInfo(); foreach ($fileList as $fileName) {  if ($fileName == "." || $fileName == "..") continue;  $fullFileName = $dirName . "/" . $fileName;  if (is_file($fullFileName)) {  $totalCodeSub = $this->totalByFile($dirName . "/" . $fileName);  } else if (is_dir($fullFileName)) {  $totalCodeSub = $this->totalByDir($dirName . "/" . $fileName);   } else {  $totalCodeSub = new TotalCodeInfo();  }    $totalCodeDir->increaseByOther($totalCodeSub); } return $totalCodeDir; }  public function totalByDirOrFile($dirOrFileName) { if (is_dir($dirOrFileName)) {  return $this->totalByDir($dirOrFileName); } else if (is_file($dirOrFileName)) {  return $this->totalByFile($dirOrFileName); } else {  return new TotalCodeInfo(); } }  public function test() { $re = $this->totalByDir("/export/www/pm_web/configs"); var_dump($re); }  public function main($dirList) { $totalCodeAll = new TotalCodeInfo(); foreach($dirList as $dirName) {  $totalCodeSub = $this->totalByDirOrFile($dirName);  $totalCodeAll->increaseByOther($totalCodeSub); } print_r($totalCodeAll); } } class TotalCodeInfo { private $fileCount = 0; private $lineCount = 0;  public function getFileCount() { return $this->fileCount; } public function getLineCount() { return $this->lineCount; } public function setFileCount($fileCount) { $this->fileCount = $fileCount; return $this; } public function setLineCount($lineCount) { $this->lineCount = $lineCount; return $this; }  /** * 累加  */ public function increaseByOther($totalCodeInfo) { $this->setFileCount( $this->fileCount + $totalCodeInfo->getFileCount()); $this->setLineCount( $this->lineCount + $totalCodeInfo->getLineCount()); return $this; }} $dirList = array();$dirList[] = "/your/path"; $obj = new TotalCode();$obj->main($dirList);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

以上就是关于对PHP实现统计代码行数小工具的详细介绍。欢迎大家对PHP实现统计代码行数小工具内容提出宝贵意见

微信扫一扫

易采站长站微信账号