自定义静态方法的 PhpStorm 验证错误

Posted

技术标签:

【中文标题】自定义静态方法的 PhpStorm 验证错误【英文标题】:PhpStorm validation Error for custom static method 【发布时间】:2017-05-28 12:43:29 【问题描述】:
public static function someStaticMethod($method, ...$args)

    ...
    return self::"_$method"(...$args);

因此,尽管代码对 php 7 有效,并且在 Languages & Frameworks | PHP 设置中语言级别设置为 7.1,但我收到返回行的错误提示。

能否以某种方式禁用这条线或这种情况,或者我真的把事情搞砸了?

PhpStorm 版本:2016.2.2

第一个花括号上显示的错误提示:

预期:命名空间或使用或 goto 或 if 或 elseif 或 else 或 for 或 foreach 关键字或 while 或 do 或 switch 或 case 或 default 关键字或 try 或 catch 或 declare 或 break 或 endif 或 endfor 或 endforeach 或 endwhile 或 endswitch 或 enddeclare 或 die 或 exit 或 private 或 function 或 new 或 instanceof 或 const 或 list 或 implements 或 eval or final or as or throw or include_once or class or abstract or interface 关键字或 public 关键字或 static 关键字或 clone 关键字 或 isset 关键字或空关键字或 return 或 var 或 continue 或 protected 或 print 或 echo 或 include 或 global 或 extends 或 unset 或 require_once or array or callable or require or identifier or and 关键字或或关键字或异或关键字或特征或代替或最终 或产量

【问题讨论】:

【参考方案1】:

下一个主要版本 - PhpStorm 2017.1 已修复 (WI-13620 ticket)(我在下面的代码中没有看到任何警告)。

如果您愿意 - 您可以try 2017.1 EAP build now(不同的 IDE 版本可以并行运行,因为它们默认将 IDE 范围的设置存储在不同的位置)。

请注意:这是一个 EAP 构建(早期访问计划),因此它可能存在其他问题(不兼容的插件、执行速度慢、由新引入的功能引起的其他新错误等)。 p>

【讨论】:

以上是关于自定义静态方法的 PhpStorm 验证错误的主要内容,如果未能解决你的问题,请参考以下文章

使用数据注释和代码的自定义验证属性

来自第 3 方静态库的回调中未捕获的异常

如何创建自定义 EL 函数来调用静态方法?

angular 2+ 中的自定义输入类型

在快速静态错误中为自定义 UIView 设置动画

用预处理器替换 C++ 类/静态方法?