草庐IT

codesniffer

全部标签

php - eclipse 插件 PHP_CodeSniffer 的 PSR-2 CodeSniffer 标准

我正在使用这个eclipse插件(http://www.phpsrc.org/projects/pti-php-codesniffer/wiki/)来检查PHP代码风格。这个插件附带了一些标准来检查,但PSR-2没有。此插件允许通过提供文件来定义自定义标准。我下载了这个psr2标准(https://github.com/squizlabs/PHP_CodeSniffer/tree/master/CodeSniffer/Standards/PSR2)并在eclipse插件中定义为自定义标准。但它不起作用(eclipse没有告诉我任何错误)。如果我配置一个非自定义标准(一个包含标准的插件)

PHP Codesniffer 自定义规则:常量::类而不是字符串

在我的一个客户的代码库中,我看到很多对合格类名的字符串引用;['foobar'=>'My\Namespace\Class']而不是使用:['foobar'=>My\Namespace\Class::class]出于多种原因,我们希望添加PHPCodeSniffer规则来捕获这些字符串并添加警告,以便可以将字符串重构为::class常量。第一部分(捕获字符串)很容易,但是因为我们正在进行静态代码分析,所以我们无法执行(例如)class_exists或查找get_declared_classes()的结果。下一个选项可能是分析字符串本身([A-Za-z0-9]),但这不是很可靠,因为很多字

php - 任何在 codesniffer 上只显示错误的方法

我只想在codesniffer中看到错误。因为文件有太多警告,而我只更正了错误。任何人都知道该怎么做吗? 最佳答案 感谢@GregSherwood关注此linkphpcs-n--standard=MEQP1pathtofile 关于php-任何在codesniffer上只显示错误的方法,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/41057534/

php - 如何在 XAMPP 中使用 PHP_CodeSniffer?

我在WindowsXP上运行XAMPP。我刚刚下载了PHP_CodeSniffer,但不知道如何运行它。谢谢 最佳答案 documentation应有尽有。编辑:phpcs的第一行是:#!@php_bin@您需要将@php_bin@替换为正确的php路径以创建有意义的shebang(在linux中):#!/usr/bin/php由于windows没有shebang的概念,可以将phpcs第一行删掉,然后运行如下:C:\>path\to\php\bin\php.exepath\to\phpcspath\to\file\to\analy

php - 为 phpcs 修改 PEAR 标准

我想对我们的phpcs验证的PEAR标准做一个小改动。目前PEAR要求您像这样编写else语句:}else{我们想这样写:}else{我该如何着手进行此更改? 最佳答案 唯一的方法是使用ruleset.xml文件编写您自己的编码标准。它需要导入整个PEAR编码标准,但排除执行此检查的特定嗅探。这一点可以用单个XML文件完成。但是没有内置的嗅探器可以强制执行您正在寻找的else语法类型。因此,要执行此操作,您需要编写一个自定义嗅探器,这更复杂,因为您还必须将其存储在某个地方。如果您想从尝试简单的自定义编码标准开始,请创建一个名为rul

php - 带有类声明的 PSR2 在 PHP Code Sniffer 中扩展带有命名空间的类

我在使用PSR2标准的PHPCS中遇到了问题。到处搜索,但令我惊讶的是,我找不到任何人报告相同的问题。假设我有一个类声明如下:然后我通过PHPCS运行它:bash-3.2$phpcs-s--standard=PSR2test.phpFILE:test.php--------------------------------------------------------------------------------FOUND2ERROR(S)AFFECTING1LINE(S)--------------------------------------------------------

php - 如何配置 PHP CodeSniffer 以允许我的 case 语句按照我喜欢的方式缩进?

我有这样的代码:functionprocessRequest(){//gettheverb$method=strtolower($_SERVER['REQUEST_METHOD']);switch($method){case'get':handleGet();break;case'post':handlePost();//$data=$_POST;break;case'delete':handleDelete();break;case'options':header('Allow:GET,POST,DELETE,OPTIONS');break;default:header('HTTP/

php - php代码嗅探器中的@param标签对齐

我正在为一个函数使用php代码嗅探器,我想添加@param标签,但它给我第一个和第二个参数的对齐错误。/***forgeneratingthumbnail**@paramint$minSizeanintegertosizeofthumbnail*@paramstring$sourceUrlthestringtosourceurl**@returninttheinteger*/functionimgThumbs($minSize,$sourceUrl){}请指教,为什么不显示,first和second没有对齐是什么问题。 最佳答案 E

php - phpcs 的 PSR-2 编码标准和 Symfony2 编码标准之间的主要区别是什么?

我正在尝试找出使用phpcs代码嗅探器强制执行的代码风格。自从Symfony2流行以来,使用它的代码标准似乎是一种很好的做法。另一方面,它的代码风格是基于PSR2的,所以这似乎是一个应该使用的最基本的风格。此外,在squizlabs/php_codesniffer的基本安装中,不包含Symfony2标准,必须手动安装,而PSR2很容易获得。所以我想知道Symfony2指南与PSR2相比的主要区别,以便决定使用哪个。例如,我意识到Symfony2风格强制执行Concatoperatormustnotbesurroundedbyspaces而PSR2忽略这种情况。然而,我没有找到一种简单的

php - 与 PHP_CodeSniffer 一起使用的好的标准是什么?

我的代码库遵守(或应该)Zend编码标准。我一直在使用带有PHP_CodeSniffer的Zend标准,但我看到讨论说phpcs的Zend标准不一致且未维护,并且不一定坚持Zend编码标准。因此,我正在寻找一种更一致、最新且使用更广泛的标准。我应该使用什么?我听说过“Squiz”、“PEAR”和“PSR2”,但我对它们一无所知。它们之间有什么区别? 最佳答案 PEAR标准是最基本的标准,也是大多数其他标准演变而来的标准。它已经存在了很长时间,但是已经有一段时间没有更新了。它最初由PEAR包(如PHP_CodeSniffer)使用,我