#php #eclipse #phpdoc #type-hinting
#php #eclipse #phpdoc #подсказка типа
Вопрос:
Я использовал встроенные объявления @var для подсказок типа PHP, чтобы использовать прогнозирование и переход по ссылкам в Eclipse, но какова структура, когда это переменная-член, как в примере ниже? (приведенное ниже, похоже, не работает)
/* @var $this->obj AbcObj */
$this->obj = Factory::get(...);
* Предположим, что на заводе может быть создано большое разнообразие типов объектов.
Ответ №1:
В объявлении класса, которое $this
представляет, если вы объявили $obj
как переменную класса, поместите в нее docblock:
class Foo
{
/**
* @var AbcObj
*/
$obj = null;
}
Это должно дать вам именно то, что вам нужно. Эта встроенная /** @var
вещь была чем-то, что эволюционировало в дикой природе, чтобы придать такое поведение локальным неклассовым переменным, основанным на желании автозаполнения, которое существует для переменных класса.