PhpStorm не набирает тип метода класса возвращает типы в черте
Предположим, у меня есть набор классов
class A {
use Dummy;
function getB() : B { ... }
}
class B {
function foo() { ... }
}
trait Dummy {
function works() {
if ($this instanceof A)
$this -> getB() -> foo(); // Typehinting works
}
function doesntWork() {
$this -> getB() -> foo(); // Method foo not found in...
}
}
Как мне получить PhpStorm, чтобы заставить печатать работать, как предполагается в методе doesntWork
? Я действительно раздражен этим, потому что большая часть моей работы основана на использовании методов основного класса в таких чертах, как эта, и я получаю много отвлекающего желтого цвета в PhpStorm...
2 ответа
Решение
Вы не можете сделать много прямо сейчас - это проблема IDE.
https://youtrack.jetbrains.com/issue/WI-35952 - просмотрите этот билет (звезда / голосование / комментарий), чтобы получать уведомления о любом прогрессе.
Оказывается, есть обходной путь. В таком случае,
/**
* @method \Namespace\Name\B getB
*/
trait Dummy { ... }
Немного некрасиво но работает