首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >标识PHP_CodeSniffer是否正在嗅探抽象(或最终)类

标识PHP_CodeSniffer是否正在嗅探抽象(或最终)类
EN

Stack Overflow用户
提问于 2015-03-09 20:50:36
回答 1查看 162关注 0票数 1

我正在用PHP_CodeSniffer编写一个嗅探来检查类名,并且我的抽象类名与非抽象类有一些不同的命名要求。

如何识别当前嗅探是否在嗅探抽象类?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-10 01:26:45

感谢zerkms为我指明了正确的方向。

若要检查当前嗅探是否正在读取abstractfinal类,请使用以下代码:

代码语言:javascript
运行
复制
if (in_array(
  $tokens[($stackPtr - 2)]['code'], 
  array(T_ABSTRACT, T_FINAL)
) === true 
) {
  // TRUE - class is abstract or final
} else {
  // FALSE - class is NOT abstract or final
}

删除任何一个T_ABSTRACT T_FINAL都会删除该类型的检查。

也就是说,如果没有上面代码中的T_ABSTRACT,它将返回abstract类的FALSE,对于final类仍然是正确的。

您还需要该类中的以下代码,以便上面的代码能够工作:

代码语言:javascript
运行
复制
$tokens = $phpcsFile->getTokens();

我已经测试了上面的代码,它的工作方式正如我在这个答案中所概述的那样。

由于PHP_CodeSniffer目前在互联网上的信息有限,希望这能帮助到其他人。

请随意建议编辑或编辑此答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28951495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档