在PhpStorm中使用Request :: createFromGlobals时 - 警告说"字段x在静态"

时间:2017-12-01 17:22:08

标签: symfony phpstorm php-7 legacy-code symfony-http-foundation

这是在使用Symfony框架的遗留PHP应用程序中发生的,只使用了部分Http-Foundation。所以没有什么是为我们创建请求,而是在一些设置代码中使用GLOBALS创建它。这是作为现代化过程的一部分完成的(遵循Paul M. Jones的书,第5章:用依赖注入替换全局)。

它工作得很好,比整个地方都有$_GET$_SERVER等好得多......除了每次在那里访问Request对象中的字段时在PhpStorm中#39警告:

  

" Field' server'在静态"

中找不到

如果我从Request::createFromGlobals@return static)删除PHPDoc或将其更改为(@return self),则PhpStorm可以根据需要运行。

或者,如果我自己使用GLOBALS($request = new Request($_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);)创建请求,就像createFromGlobals()正在做的那样,那么PhpStorm很高兴。

有没有办法在使用Request::createFromGlobals()时解决这个问题?

编辑:解决方案,感谢@LazyOne,添加以下typehint更改:

/** @var Request $request */
$request = Request::createFromGlobals();

0 个答案:

没有答案