Pear CodeSniffer似乎带有Cyclomatic Complexity Sniff(CyclomaticComplexitySniff.php).有谁知道如何使用它?我想计算我正在分析的代码的复杂性.我想使用Zend编码标准,但无论我使用什么标准,我都没有看到输出的复杂性信息.
如果有人对此有任何建议,请告诉我.
谢谢.
我想请一些帮助正确设置Pear的PHP Code Sniffer.
我在Mac PB 10.7.4和PHP 5.3.6上使用MAMP pro 2.0.5.我安装了Pear并且可以运行pear命令,当我安装PHP_CodeSniffer通道时我没有收到任何错误,但是我无法触发任何命令.
以下是我的命令行的屏幕截图:https: //skitch.com/stephanief0042/etuck/alohamediaworks-bash-100x40
我能够引用这篇文章: 将PEARs php_dir放入php.ini中的include_path
但我的include路径似乎是正确的:include_path =".:/ Applications/MAMP/bin/php/php5.3.6/lib/php:/Applications/MAMP/bin/php/php5.3.6/bin/pear"
当我跟踪PHPCS安装的路径时,我发现它在此路径上的可执行文件:Users/alohamediaworks/pear/bin/phpcs
我不确定我是否能够使用这个符号链接,欢迎任何帮助或建议.
我刚刚开始使用代码嗅探器来清理我的代码。
我发现 Code Sniffer 将 php 的内置函数名称捕获为错误。例如:
if($mysqli->connect_error === true) {
我在网上收到一条消息:
变量“connect_error”不是有效的驼峰帽格式。
我选择使用 Zend 标准,因为它显示了很多清理要点,并希望在将来使用它。
所以问题是 - 你如何解决这个问题?- 忽略这些错误 - 修复 php 代码嗅探器以忽略 php 内置函数名称 - 使用另一个标准?- 还要别的吗?
感谢您的建议!
安德留斯
我希望扫描文件以查找字符串 Firebug,但这还不够。我还希望在 QFirebug::log 和 QFirebug::error 静态方法之间有所不同。
如何在类名后提取方法名?
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
echo $tokens[$stackPtr]['content'];
if ($tokens[$stackPtr]['content'] === 'Firebug') {
$error = 'found ' . $tokens[$stackPtr]['content'];
$data = array(trim($tokens[$stackPtr]['content']));
$phpcsFile->addError($error, $stackPtr, 'Found', $data);
}
}//end process()
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用本教程中的 composer安装cakephp 但是在运行命令之后:
sudo composer create-project --prefer-dist cakephp/app my_app_name
Run Code Online (Sandbox Code Playgroud)
我收到错误:
问题1 - cakephp/cakephp-codesniffer 3.0.0需要squizlabs/php_codesniffer ^ 3.0.0 - >由squizlabs/php_codesniffer [3.0.0,3.0.1,3.0.2,3.1.0,3.1.1]可以满足. - cakephp/cakephp-codesniffer 3.0.1需要squizlabs/php_codesniffer ^ 3.0.0 - >由squizlabs/php_codesniffer [3.0.0,3.0.1,3.0.2,3.1.0,3.1.1]可满足. - squizlabs/php_codesniffer 3.1.1需要ext-simplexml* - >系统中缺少所请求的PHP扩展simplexml. - squizlabs/php_codesniffer 3.1.0需要ext-simplexml* - >系统中缺少所请求的PHP扩展simplexml. - squizlabs/php_codesniffer 3.0.2需要ext-simplexml* - >系统中缺少所请求的PHP扩展simplexml. - squizlabs/php_codesniffer 3.0.1需要ext-simplexml* - >系统中缺少所请求的PHP扩展simplexml. - squizlabs/php_codesniffer 3.0.0需要ext-simplexml* - >系统中缺少所请求的PHP扩展simplexml. - cakephp/cakephp-codesniffer ^ 3.0的安装请求 - > cakephp/cakephp-codesniffer [3.0.0,3.0.1]可满足.
要启用扩展,请验证它们是否已在.ini文件中启用: - /etc/php/7.0/cli/php.ini - /etc/php/7.0/cli/conf.d/10-opcache.ini - /etc /php/7.0/cli/conf.d/10-pdo.ini - /etc/php/7.0/cli/conf.d/20-calendar.ini - /etc/php/7.0/cli/conf.d/20 -ctype.ini - /etc/php/7.0/cli/conf.d/20-curl.ini - /etc/php/7.0/cli/conf.d/20-exif.ini - /etc/php/7.0/ …