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 - просмотрите этот билет (звезда / голосование / комментарий), чтобы получать уведомления о любом прогрессе.

Связанный: https://youtrack.jetbrains.com/issue/WI-39004

Оказывается, есть обходной путь. В таком случае,

/**
* @method \Namespace\Name\B getB
*/
trait Dummy { ... }

Немного некрасиво но работает

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