tzortzik
tzortzik

Reputation: 5143

annotating a local variable in php

I am using Eclipse PDT and I want to annotate a local variable using Phpdoc.

All I see is that I can annotate the variables/properties of a class using @var or even @property, but how is this possible for a local variable?

How can I do something like this?

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

Upvotes: 36

Views: 31543

Answers (2)

Gabriel
Gabriel

Reputation: 161

This is an old question, but only for reference. You must include the Use statement for the Type in current file in order to @var annotation work

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

...

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

Upvotes: 6

hakre
hakre

Reputation: 198247

The Phpdoc standard does not cover these annotations (it only cover class properties with the @var tag); however, it is perfectly possible in Eclipse (e.g. PDT):

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

This also works in all other PHP IDEs like Netbeans or Phpstorm which is useful if you exchange your code with others.

Example Code:

<?php

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

Example Screenshot (Eclipse PDT (Indigo)):

Eclipse PDT (Indigo)

Related Question & Answers:

Upvotes: 75

Related Questions