Объявите тип переменной для автозаполнения - PullRequest
0 голосов
/ 13 апреля 2019

Я хочу получить автозаполнение для некоторых переменных, поэтому я использую

/** @var $varName \Namespace\Path\ClassName */

и если у меня есть

ClassName {

    public function method() {
        // some code
    }

}

PhpStorm знает, что автозаполнение метода $varName-> (и теперь всплывающее окно с автозаполнением появляется с method())

Но я не знаю, как заставить это работать, если вместо $varName у меня есть $this->varName

Я пытаюсь сделать что-то вроде

/** @var $this->varName \Namespace\Path\ClassName */

Но это не работает. Можно ли заставить его работать?

--- Обновлено

class MyController extends GeneralController {

    use GeneralMethods;

    /**
     * @var ClassName 
     */
    protected $varName;

    public function __construct(ClassName $varName)
    {
        $this->varName = $varName;
    }

}

trait GeneralMethods {

    // ----- >> It is ok to redeclare here @varName as protected??
    /**
     * @var ClassName
     */
    protected $varName;

    public function method() {
       $this->varName = 'Some Code';
    }
}
...