Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** Generic_Sniffs_Commenting_TodoSniff.** PHP version 5** @category PHP* @package PHP_CodeSniffer* @author Greg Sherwood <gsherwood@squiz.net>* @copyright 2006 Squiz Pty Ltd (ABN 77 084 670 600)* @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence* @version CVS: $Id: TodoSniff.php 270281 2008-12-02 02:38:34Z squiz $* @link http://pear.php.net/package/PHP_CodeSniffer*//*** Generic_Sniffs_Commenting_TodoSniff.** Warns about TODO comments.** @category PHP* @package PHP_CodeSniffer* @author Greg Sherwood <gsherwood@squiz.net>* @copyright 2006 Squiz Pty Ltd (ABN 77 084 670 600)* @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence* @version Release: 1.2.1* @link http://pear.php.net/package/PHP_CodeSniffer*/class Generic_Sniffs_Commenting_TodoSniff implements PHP_CodeSniffer_Sniff{/*** A list of tokenizers this sniff supports.** @var array*/public $supportedTokenizers = array('PHP','JS',);/*** Returns an array of tokens this test wants to listen for.** @return array*/public function register(){return PHP_CodeSniffer_Tokens::$commentTokens;}//end register()/*** Processes this sniff, when one of its tokens is encountered.** @param PHP_CodeSniffer_File $phpcsFile The file being scanned.* @param int $stackPtr The position of the current token* in the stack passed in $tokens.** @return void*/public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr){$tokens = $phpcsFile->getTokens();$content = $tokens[$stackPtr]['content'];$matches = Array();if (preg_match('|[^a-z]+todo[^a-z]+(.*)|i', $content, $matches) !== 0) {// Clear whitespace and some common characters not required at// the end of a to-do message to make the warning more informative.$todoMessage = trim($matches[1]);$todoMessage = trim($todoMessage, '[]().');$error = 'Comment refers to a TODO task';if ($todoMessage !== '') {$error .= " \"$todoMessage\"";}$phpcsFile->addWarning($error, $stackPtr);}}//end process()}//end class?>