Подтвердить что ты не робот

Аннотирование локальной переменной в php

Я использую Eclipse PDT и хочу комментировать локальную переменную с помощью Phpdoc.

Все, что я вижу, это то, что я могу аннотировать переменные/свойства класса с помощью @var или даже @property, но как это возможно для локальной переменной?

Как я могу сделать что-то вроде этого?

function foo(){
  /** @var Stock $a */
  $a->save();
}
4b9b3361

Ответ 1

Стандарт Phpdoc не охватывает эти аннотации (он охватывает только свойства класса тегом @var); однако это вполне возможно в Eclipse (например, PDT):

/* @var $variable Type */
 ^         ^        `--- type
 |      variable           
 |
 `--- single star

Это также работает во всех других PHP IDE, таких как Netbeans или Phpstorm, что полезно, если вы обмениваетесь кодом с другими.

Пример кода:

<?php

/* @var $doc DOMDocument */
$doc->
 

Пример скриншота (Eclipse PDT (Indigo)):

Eclipse PDT (Indigo)

Связанный вопрос и ответы:

Ответ 2

Это старый вопрос, но только для справки. Вы должны включить оператор Use для Type в текущий файл, чтобы @var работа с аннотацией

<?php
use YourVendor\YourBundle\Entity\ProductType;

...

/* @var $product_type ProductType */
$foo = $product_type->getName();