PhpStorm中缺少return语句

PhpStorm中缺少return语句,php,phpstorm,Php,Phpstorm,我遇到了一个奇怪的PhpStorm问题。我正在使用2016.1的试用版,我在自己的类中使用了这个方法: /** * Set arbitrary log * @param $level string level of the error message * @param $mex string The message * @param $ctx array context of the problem */ public function log($level, $mex, array

我遇到了一个奇怪的PhpStorm问题。我正在使用2016.1的试用版,我在自己的类中使用了这个方法:

/**
 * Set arbitrary log
 * @param $level string level of the error message
 * @param $mex string The message
 * @param $ctx array context of the problem
 */

public function log($level, $mex, array $ctx = array())
{
    $mex = $this->Message($level, $mex, $ctx);
    $this->write($mex);
}
现在,PhpStorm在所有php文档中加上绿色下划线,并显示以下消息:

函数/方法PHPDOC注释中缺少@return标记

但是我缺少了
@return
,因为我在这个函数中不需要它。我只需要将作为参数传递的信息存储在另一个方法中


是PhpStorm错误还是我做错了什么?

为了便于文档记录,您可以使用:

@return void

我的类方法在其中突出显示警告“函数/方法中缺少@return标记”正在实现一个接口,而接口中该方法的PHPDoc有一个“@return mixed”


现在我在实际方法中没有返回任何内容,所以我将接口中的PHPDoc更改为“@return void”。看起来它解决了问题。(代码检查中没有更多警告)。

这可能取决于您的检查设置(在设置/首选项中检查PHPDoc的检查)。但是您的方法本身是好的——这里不需要任何
@return
——如果您提供整个类的话。。。。在任何情况下:尝试
File |使缓存无效…
并重新启动IDE。@LazyOne尝试使用您的解决方案,但仍然不起作用。将插入符号放在错误位置的某个位置,然后调用Alt+Enter--您应该可以看到是什么检查触发了它。请发布你在那里看到的截图。现在,使用
向右箭头键
并展开子菜单,选择“编辑检查”--显示您看到的帽子的屏幕截图(哪个检查以及它有什么设置(如果有的话)),为什么这样奇怪?这是绝对好的,也是唯一正确的方法。如果设计时没有返回任何内容,则始终将其声明为无效。请同时阅读。这很奇怪,因为99%的时候,PhpStorm都不会抱怨函数中缺少从不返回值的
@return
标记,这是正常的(只有在返回某个值时才需要该标记)。似乎不知道IDE有时会在什么时候或者为什么这样做。是的,这是PHP文档推荐的。但这确实很奇怪,而且可以说在技术上是错误的。缺少return语句将导致函数隐式返回
NULL
,这与
void
不同。另见: