phpcakephpzend-studioeclipse-pdtcakephp-2.2

How to declare the type for local variables using PHPDoc notation?


I use Zend Studio to develop in PHP with CakePHP, and one of the problems with CakePHP is that the views all reference undeclared local variables.

So for example, in the controller you would

$this->set('job',new MyJobObject());

Then in the view you could

echo $job->getName();

My problem is that Zend Studio can't perform autocomplete on $job, because it's type is unknown. Now there are PHPDoc tags that allow you to declare the type so that IDE's can perform autocomplete. The @var tag for example can be used in a class to define a property's type.

class MyJobObject
{
    /**
     * @var MyStatusObject
     */
    public $status;
}

Is there a way to do something like this for local variables?


Solution

  • You have to use the one-line form: /** @var $job MyJobObject */

    Note that some editors prefer the syntax the other way around: /** @var MyJobObject $job */