35

我正在使用 Eclipse PDT,我想使用 Phpdoc 注释一个局部变量。

我所看到的只是我可以使用@varor 来注释类的变量/属性@property,但是对于局部变量这怎么可能呢?

我怎么能做这样的事情?

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

2 回答 2

70

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(靛蓝)

相关问答:

于 2013-01-02T00:38:38.707 回答
5

这是一个老问题,但仅供参考。您必须在当前文件中包含Use语句才能进行注释工作Type@var

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

...

/* @var $product_type ProductType */
$foo = $product_type->getName();
于 2014-10-03T03:02:56.327 回答