0

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

$_GET它工作得很好,比到处都有,等要好得多$_SERVER......除了在 PhpStorm 中,每次访问 Request 对象中的字段时都会出现警告:

“在静态中找不到字段‘服务器’”

Request::createFromGlobals如果我从( )中删除 PHPDoc@return static或将其更改为 ( @return self),则 PhpStorm 将按需要工作。

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

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

编辑:感谢@LazyOne,解决方案是添加以下类型提示更改:

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

0 回答 0