问题标签 [codesniffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 样式检查 PHP 渐进式(增量式)
我喜欢对我的代码库进行自动检查,以确保我没有违反风格指南。当我在 Perl 工作时,我会使用Perl::Critic来检查我的风格,并使用Test::Perl::Critic::Progressive来检查任何现有的违规行为,这样我就可以将其应用于现有的代码库。
现在我发现自己在一个 PHP 项目中。PHP CodeSniffer似乎是社区中首选的工具,但我没有看到任何形式的渐进模式。
是否有任何 PHP 样式检查器的“渐进式”模式?
(“渐进式”检查首先捕获所有现有违规的列表,然后阻止它们出现在后续的检查运行中。这意味着允许保留现有的违规,但不允许添加新的违规。)
php - 使用 PHPStorm 的 phpcs 自定义规则集
我试图以某种方式说服 phpcs 使用 Zend 编码指南,但 - 允许我使用带下划线的变量(如$blub->foo_bar
)。
谁能告诉我如何从 PHPStorm 中更改 phpcs 使用的规则集,好吗?
php - OSError:[Errno 13] 使用 Sublime phpcs 包 OSX 10.7 时,python 的权限被拒绝
我尝试将 Php Code Sniffer 与 Sublime 一起使用,但在 sublime 终端中,每次尝试嗅探文件时都会得到以下信息:
看起来某处存在权限问题,但是:
- 我已将 /opt/local/lib/php/pear/bin 中的 phpcs 文件设置为可执行文件并检查了所有父目录
- 我已将 sublime 包目录中的 phpcs.py 设置为可执行文件(尽管不确定是否需要它),与父目录同上
- 我已经检查过了,我可以在命令行上很好地运行 phpcs。它在 PATH 中,它做它应该做的事情并返回没有错误的结果。
根据 ms4py 注释更新输出 - ln 105 处的“打印 cmd”:
php - 如何获取 PHP Codesniffer 规则集的所有密钥以与 Sonar 一起使用?
我正在尝试在 phpcs 中添加 Drupal 编码标准。
我可以运行 Drupal 标准
phpcs --standard=Drupal
现在我想用 Sonar 执行相同的标准。
在 Sonar 中,我可以在rules.xml
扩展中添加所有规则集的键,但是如何获取这些规则的所有键?
我可以使用文件和文件夹结构识别一些键,*sniff.php
但我不确定我是否得到了所有这些键。
谁能建议一种自动化的方法来获取特定标准中的所有可用规则?
triggers - 有没有办法或解决方法来拥有一个 perforce 客户端触发器?
我们无权访问服务器,但我们想在将文件提交到 depo 之前运行代码嗅探器。我知道访问服务器触发器非常简单,但是客户端是否有可能拥有类似的东西?所以如果我的脚本返回 1 它应该取消提交操作。
php - 命令行工具应用 PHP Codesniffer 提供的建议
我正在寻找一个命令行工具,它将 PHP 代码嗅探器提供的代码格式化建议应用到我的代码库中。
有一些很酷的工具,例如 Eclipse 的 PHP CodeSniffer 插件,但在我的用例中,我需要将其作为批处理而不是手动任务来执行。
php - JS Lexer 检测函数调用
为了本地化我的 javascript 中使用的字符串,我想扫描我的所有 js 文件以查找此类字符串。
我正在使用一个t()
函数来请求字符串翻译,如下所示:
或动态部分:
我想检测对t()
函数的所有调用,从而收集 php“build”脚本中第一个参数中包含的字符串,但跳过以下内容:
所以这里的简单规则是被调用的 t 函数必须在全局范围内,以便第一个参数有资格作为翻译字符串。
通常,不允许将动态运行时数据作为第一个参数。的第一个参数t()
必须始终是“常量”文字字符串。
我认为php codesniffer会帮助我做到这一点,但是我能找到的所有文档都是关于执行代码标准(或检测违反它的)。我需要对其 js 词法分析器的较低级别的访问。
我的问题是:
- php 代码嗅探器的 js 词法分析器能帮我解决我的问题吗?
- 如果是这样,我如何访问该词法分析器?
- 是否有任何其他 php 库可以帮助我找到对的调用
t()
?
请不要建议独立的正则表达式,因为它们不可能完全解决我的问题。
先感谢您。
php - 有没有办法让 Netbean 生成的 PHP 单元测试符合 CodeSniffer Zend 标准?
我正在使用 Netbeans 生成 PHP 单元测试,而 CodeSniffer 不喜欢生成的模板,因为它不是 Zend 标准。如何让 PHP 单元测试模板生成 Zend 标准模板,这样它就不会引发所有这些违规行为?
php - 由 PHPStorm 中的代码嗅探器触发的 Xdebug
我在安装 PHPStorm 时让 xdebug 和 Code Sniffer 都工作得很好,但真正令人讨厌的部分是调试器现在似乎将 Code Sniffer 错误视为断点并中断代码以让我知道样式警告,而我正在试图测试代码。如何防止 Code Sniffer 被 PHPStorm 中的远程调试器捕获?
PS:我正在运行 Apache,使用虚拟主机将某些 URL 映射到我计算机上的文件夹,并且代码嗅探器从未显式触发 PHPStorm 的远程调试器,而我的站点导致 PHPStorm 询问我是否想包含它的虚拟 URL 以进行调试。
php - PHP 5.2 升级到 5.3
可能重复:
将 PHP 从版本 5.2 升级到 5.3
我用 PHP 5.3 中已弃用的一些功能实现了 15 个站点。我的托管服务提供商为我提供了一台新服务器,但它安装了 php 5.3。我需要将所有代码升级到 5.3,因为服务器移动迫在眉睫,所以我想知道识别/更正具有已弃用功能的文件的最佳方法是什么。
我尝试使用 PHP_Codesniffer,它给了我文件列表和在 PHP5.3 中不起作用的确切函数,但我仍然需要一个一个地编辑这些文件。是否有另一个扩展程序/程序可以帮助我解决这个问题?(只是试图避免一个一个地进入所有文件的所有繁琐工作)
谢谢