如何使用 PHPDoc 表示法声明局部变量的类型?

我使用 Zend Studio 用 CakePHP 进行 PHP 开发,CakePHP 的问题之一是所有视图都引用了未声明的局部变量.

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.

例如,在控制器中你会

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

然后在视图中你可以

echo $job->getName();

我的问题是 Zend Studio 无法对 $job 执行自动完成,因为它的类型未知.现在有 PHPDoc 标签允许您声明类型,以便 IDE 可以执行自动完成.例如,@var 标记可用于在类中定义属性的类型.

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;
}

有没有办法对局部变量做这样的事情?

推荐答案

你必须使用单行形式:/** @var $job MyJobObject */

请注意,有些编辑器更喜欢相反的语法:/** @var MyJobObject $job */

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

相关文章