当前位置: 首页>>代码示例>>PHP>>正文


PHP File::parse方法代码示例

本文整理汇总了PHP中PHP_CodeSniffer\Files\File::parse方法的典型用法代码示例。如果您正苦于以下问题:PHP File::parse方法的具体用法?PHP File::parse怎么用?PHP File::parse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PHP_CodeSniffer\Files\File的用法示例。


在下文中一共展示了File::parse方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generateFileReport

 /**
  * Generate a partial report for a single processed file.
  *
  * Function should return TRUE if it printed or stored data about the file
  * and FALSE if it ignored the file. Returning TRUE indicates that the file and
  * its data should be counted in the grand totals.
  *
  * @param array                 $report      Prepared report data.
  * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
  * @param bool                  $showSources Show sources?
  * @param int                   $width       Maximum allowed line width.
  *
  * @return bool
  */
 public function generateFileReport($report, File $phpcsFile, $showSources = false, $width = 80)
 {
     $errors = $phpcsFile->getFixableCount();
     if ($errors === 0) {
         return false;
     }
     $phpcsFile->disableCaching();
     $tokens = $phpcsFile->getTokens();
     if (empty($tokens) === true) {
         if (PHP_CODESNIFFER_VERBOSITY === 1) {
             $startTime = microtime(true);
             echo 'DIFF report is parsing ' . basename($report['filename']) . ' ';
         } else {
             if (PHP_CODESNIFFER_VERBOSITY > 1) {
                 echo 'DIFF report is forcing parse of ' . $report['filename'] . PHP_EOL;
             }
         }
         $phpcsFile->parse();
         if (PHP_CODESNIFFER_VERBOSITY === 1) {
             $timeTaken = (microtime(true) - $startTime) * 1000;
             if ($timeTaken < 1000) {
                 $timeTaken = round($timeTaken);
                 echo "DONE in {$timeTaken}ms";
             } else {
                 $timeTaken = round($timeTaken / 1000, 2);
                 echo "DONE in {$timeTaken} secs";
             }
             echo PHP_EOL;
         }
         $phpcsFile->fixer->startFile($phpcsFile);
     }
     //end if
     if (PHP_CODESNIFFER_VERBOSITY > 1) {
         ob_end_clean();
         echo "\t*** START FILE FIXING ***" . PHP_EOL;
     }
     $fixed = $phpcsFile->fixer->fixFile();
     if (PHP_CODESNIFFER_VERBOSITY > 1) {
         echo "\t*** END FILE FIXING ***" . PHP_EOL;
         ob_start();
     }
     if ($fixed === false) {
         return false;
     }
     $diff = $phpcsFile->fixer->generateDiff();
     if ($diff === '') {
         // Nothing to print.
         return false;
     }
     echo $diff . PHP_EOL;
     return true;
 }
开发者ID:thekabal,项目名称:tki,代码行数:66,代码来源:Diff.php

示例2: generateFileReport

 /**
  * Generate a partial report for a single processed file.
  *
  * Function should return TRUE if it printed or stored data about the file
  * and FALSE if it ignored the file. Returning TRUE indicates that the file and
  * its data should be counted in the grand totals.
  *
  * @param array                 $report      Prepared report data.
  * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
  * @param bool                  $showSources Show sources?
  * @param int                   $width       Maximum allowed line width.
  *
  * @return bool
  */
 public function generateFileReport($report, File $phpcsFile, $showSources = false, $width = 80)
 {
     if ($report['errors'] === 0 && $report['warnings'] === 0) {
         // Nothing to print.
         return false;
     }
     // How many lines to show about and below the error line.
     $surroundingLines = 2;
     $file = $report['filename'];
     $tokens = $phpcsFile->getTokens();
     if (empty($tokens) === true) {
         if (PHP_CODESNIFFER_VERBOSITY === 1) {
             $startTime = microtime(true);
             echo 'CODE report is parsing ' . basename($file) . ' ';
         } else {
             if (PHP_CODESNIFFER_VERBOSITY > 1) {
                 echo "CODE report is forcing parse of {$file}" . PHP_EOL;
             }
         }
         $phpcsFile->parse();
         if (PHP_CODESNIFFER_VERBOSITY === 1) {
             $timeTaken = (microtime(true) - $startTime) * 1000;
             if ($timeTaken < 1000) {
                 $timeTaken = round($timeTaken);
                 echo "DONE in {$timeTaken}ms";
             } else {
                 $timeTaken = round($timeTaken / 1000, 2);
                 echo "DONE in {$timeTaken} secs";
             }
             echo PHP_EOL;
         }
         $tokens = $phpcsFile->getTokens();
     }
     //end if
     // Create an array that maps lines to the first token on the line.
     $lineTokens = array();
     $lastLine = 0;
     foreach ($tokens as $stackPtr => $token) {
         if ($token['line'] !== $lastLine) {
             if ($lastLine > 0) {
                 $lineTokens[$lastLine]['end'] = $stackPtr - 1;
             }
             $lastLine++;
             $lineTokens[$lastLine] = array('start' => $stackPtr, 'end' => null);
         }
     }
     // Make sure the last token in the file sits on an imaginary
     // last line so it is easier to generate code snippets at the
     // end of the file.
     $lineTokens[$lastLine]['end'] = $stackPtr;
     // Determine the longest code line we will be showing.
     $maxSnippetLength = 0;
     $eolLen = strlen($phpcsFile->eolChar);
     foreach ($report['messages'] as $line => $lineErrors) {
         $startLine = max($line - $surroundingLines, 1);
         $endLine = min($line + $surroundingLines, $lastLine);
         $maxLineNumLength = strlen($endLine);
         for ($i = $startLine; $i <= $endLine; $i++) {
             if ($i === 1) {
                 continue;
             }
             $lineLength = $tokens[$lineTokens[$i]['start'] - 1]['column'] + $tokens[$lineTokens[$i]['start'] - 1]['length'] - $eolLen;
             $maxSnippetLength = max($lineLength, $maxSnippetLength);
         }
     }
     $maxSnippetLength += $maxLineNumLength + 8;
     // Determine the longest error message we will be showing.
     $maxErrorLength = 0;
     foreach ($report['messages'] as $line => $lineErrors) {
         foreach ($lineErrors as $column => $colErrors) {
             foreach ($colErrors as $error) {
                 $length = strlen($error['message']);
                 if ($showSources === true) {
                     $length += strlen($error['source']) + 3;
                 }
                 $maxErrorLength = max($maxErrorLength, $length + 1);
             }
         }
     }
     // The padding that all lines will require that are printing an error message overflow.
     if ($report['warnings'] > 0) {
         $typeLength = 7;
     } else {
         $typeLength = 5;
     }
     $errorPadding = str_repeat(' ', $maxLineNumLength + 7);
//.........这里部分代码省略.........
开发者ID:thekabal,项目名称:tki,代码行数:101,代码来源:Code.php


注:本文中的PHP_CodeSniffer\Files\File::parse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。