переменные-члены и подсказка типа @var phpdoc

Я использовал встроенные объявления @var для подсказки типа PHP, чтобы использовать предсказание и переход по ссылке в Eclipse, но какова структура, когда это переменная-член, как в примере ниже? (ниже не работает)

/* @var $this->obj AbcObj */
$this->obj = Factory::get(...);

* Предположим, что фабрика может выпускать самые разные типы объектов.


person paullb    schedule 25.06.2014    source источник


Ответы (1)


В объявлении класса, которое представляет $this, если вы объявили $obj как переменную класса, поместите на нее докблок:

class Foo
{
    /**
     * @var AbcObj
     */
    $obj = null;
}

Это должно дать вам именно то, что вам нужно. Эта встроенная штука /** @var была чем-то, что развилось в дикой природе, чтобы дать такое поведение локальным неклассовым переменным, основанным на желании того автозаполнения, которое существует для переменных класса.

person ashnazg    schedule 08.07.2014