В 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();