В PhpStorm при использовании Request::createFromGlobals - предупреждение говорит: "поле x не найдено в статическом"

Это происходит в устаревшем приложении PHP, которое не было построено с использованием инфраструктуры Symfony, используются только части Http-Foundation. Поэтому ничто не создает Запрос для нас, вместо этого мы создаем его, используя GLOBALS в некотором коде установки. Это было сделано как часть процесса Модернизации (следуя книге Пола Джонса, в Главе 5: Замените глобальный на Внедрение Зависимостей).

Это работает просто отлично и гораздо приятнее, чем иметь $_GET, $_SERVERи т. д. повсюду... за исключением того, что в PhpStorm каждый раз при обращении к полю внутри объекта Request появляется предупреждение:

"Поле" сервер "не найдено в статическом"

Если я удалю PHPDoc из Request::createFromGlobals (@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();

0 ответов

Другие вопросы по тегам