在php中注释一个局部变量

tzo*_*zik 26 php variables local phpdoc

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

我所看到的是,我可以使用@var或甚至 注释类的变量/属性@property,但这对于局部变量有何可能?

我怎么能这样做?

function foo(){
  /** @var Stock $a */
  $a->save();
}
Run Code Online (Sandbox Code Playgroud)

hak*_*kre 61

Phpdoc标准没有涵盖这些注释(它只包含带有@var标记的类属性); 但是,它在Eclipse中是完全可能的(例如PDT):

/* @var $variable Type */
 ^         ^        `--- type
 |      variable           
 |
 `--- single star
Run Code Online (Sandbox Code Playgroud)

这也适用于所有其他PHP IDE,如Netbeans或Phpstorm,如果您与其他人交换代码,这很有用.

示例代码:

<?php

/* @var $doc DOMDocument */
$doc->
 
Run Code Online (Sandbox Code Playgroud)

示例屏幕截图(Eclipse PDT(Indigo)):

Eclipse PDT(Indigo)

相关问答:


小智 5

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

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

...

/* @var $product_type ProductType */
$foo = $product_type->getName();
Run Code Online (Sandbox Code Playgroud)