Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhpStorm:代码分析-来自类名的静态调用_Php_Intellij Idea_Phpstorm - Fatal编程技术网

PhpStorm:代码分析-来自类名的静态调用

PhpStorm:代码分析-来自类名的静态调用,php,intellij-idea,phpstorm,Php,Intellij Idea,Phpstorm,我在PhpStorm中得到了一个关于静态调用的常见用法的警告。 我有: 那么,我有: $className = 'Test'; $className::thisIsATest(); 这不是一个错误,顺便说一句,我的PhpStorm中有: 有办法解决这个问题吗?至少,是否可以隐藏此警告?对于此问题,有一些解决方案: 更改为PHP版本>=5.3.0 使用调用用户函数(数组('Test','thisistest') 在项目设置下更改phpstrom中的代码检查行为(同时确保phpstrom为当前项

我在PhpStorm中得到了一个关于静态调用的常见用法的警告。 我有:

那么,我有:

$className = 'Test';
$className::thisIsATest();
这不是一个错误,顺便说一句,我的PhpStorm中有:


有办法解决这个问题吗?至少,是否可以隐藏此警告?

对于此问题,有一些解决方案:

  • 更改为PHP版本>=5.3.0

  • 使用
    调用用户函数(数组('Test','thisistest')

  • 在项目设置下更改phpstrom中的代码检查行为(同时确保phpstrom为当前项目设置了正确的PhpVersion)

  • [解决方案]以正确的方式在phpstrom中声明带有注释的变量

  • 比如:


    对于此问题,有一些解决方案:

  • 更改为PHP版本>=5.3.0

  • 使用
    调用用户函数(数组('Test','thisistest')

  • 在项目设置下更改phpstrom中的代码检查行为(同时确保phpstrom为当前项目设置了正确的PhpVersion)

  • [解决方案]以正确的方式在phpstrom中声明带有注释的变量

  • 比如:



    使用PHP5.3.0或更高版本怎么样。在此版本之前,不允许使用语法。此处的测试版本:也可以这样做:
    call_user_func(数组('Test','thisistest')不幸的是,PhpStorm还不支持这样的类引用。两个选项1)禁用“未知方法”检查。。但这也会影响到所有其他地方;2) 通过将
    /**@noinspection PhpUndefinedMethodInspection*/
    放在
    $className::ThisisTest()前面的一行上,抑制此行的消息3)通过为
    $className
    变量提供更好的类型提示来帮助IDE——IDE理解的变量:
    /**@var Test$className*/
    $className='Test'之前行禁用此检查实际上不是一个选项。我希望有办法告诉Phpstorm检查员如何处理这个问题。使用
    /**@var…
    是一种选择,但这让我很困扰,因为它不是真正的类型。之后,他们在php5.3中引入了这种语法,以避免使用
    调用用户函数
    函数(据我所知)。我现在要降低这个警告的严重性。谢谢你!使用PHP5.3.0或更高版本怎么样。在此版本之前,不允许使用语法。此处的测试版本:也可以这样做:
    call_user_func(数组('Test','thisistest')不幸的是,PhpStorm还不支持这样的类引用。两个选项1)禁用“未知方法”检查。。但这也会影响到所有其他地方;2) 通过将
    /**@noinspection PhpUndefinedMethodInspection*/
    放在
    $className::ThisisTest()前面的一行上,抑制此行的消息3)通过为
    $className
    变量提供更好的类型提示来帮助IDE——IDE理解的变量:
    /**@var Test$className*/
    $className='Test'之前行禁用此检查实际上不是一个选项。我希望有办法告诉Phpstorm检查员如何处理这个问题。使用
    /**@var…
    是一种选择,但这让我很困扰,因为它不是真正的类型。之后,他们在php5.3中引入了这种语法,以避免使用
    调用用户函数
    函数(据我所知)。我现在要降低这个警告的严重性。谢谢你!事实上,我的代码是有效的(我使用的是PHP5.6)。只是Phpstorm的密码提示给我一个警告。我暂时降低了严重性。谢谢你@dam660与Phpstorm一起工作有时感觉就像身边有一百万个仆从:-)我注意到有点晚了,你的Q是关于phpstrom的,而不是代码本身。:)@dam660再次检查我的答案!哦这管用!此语法不是的一部分。上面写着:
    @var[“Type”][$element\u name][
    。您的建议是将$element\u名称与类型切换。这到底意味着什么?谢谢大家!@dam660 I在某些情况下,第二个参数[$variablename]是可选的,因此它也可能自己检测前两个参数,因此顺序并不真正相关。您的链接也显示了类中的用法,但在我的例子中,它是全局使用的。最后,phpstorm做了他的解释。但是,只要它起作用……:)事实上,我的代码是有效的(我使用的是PHP5.6)。只是Phpstorm的密码提示给我一个警告。我暂时降低了严重性。谢谢你@dam660与Phpstorm一起工作有时感觉就像身边有一百万个仆从:-)我注意到有点晚了,你的Q是关于phpstrom的,而不是代码本身。:)@dam660再次检查我的答案!哦这管用!此语法不是的一部分。上面写着:
    @var[“Type”][$element\u name][
    。您的建议是将$element\u名称与类型切换。这到底意味着什么?谢谢大家!@dam660 I在某些情况下,第二个参数[$variablename]是可选的,因此它也可能自己检测前两个参数,因此顺序并不真正相关。您的链接也显示了类中的用法,但在我的例子中,它是全局使用的。最后,phpstorm做了他的解释。但是,只要它起作用……:)
    $className = 'Test';
    $className::thisIsATest();
    
      <?php
      /**
       * @var $className Test
       */
      $className::thisIsATest();