Netbeans中的variablestypes提示(PHP)

只是好奇,如果netbeans中有一种方法可以为常规variables提供types提示,那么intellisense会提取它。 我知道你可以做的类属性,函数参数,返回types等,但我不知道如何做到这一点常规variables。 这是真正有帮助的情况下,你有一个方法,可以返回不同的对象types(如服务定位器)。

例如:

/** * @var Some_Service $someService */ $someService = ServiceLocator::locate('someService'); 

之后使用$ someService的地方,netbeans会提供Some_Service类中定义的所有可用的方法。

一条线就是你所需要的:

 /* @var $varName Type_Name */ 

请参阅NetBeans PHP博客中的这篇文章: https : //blogs.oracle.com/netbeansphp/entry/defining_a_variable_type_in

我知道这是一个较老的问题,但我正在寻找类似的Eclipse / Zend Studio的答案,这也解决了它。

**请注意,它必须在一个单独的行中显式打开和closures这种风格…

 /* @var $varName Type_Name */ 

没有其他格式是否…

 /** * @var $varName Type_Name */ 

要么…

 // @var $varName Type_Name 

似乎工作。 希望能帮助别人。

你正在寻找文件那些讨厌的魔术变数? (我做了,这个问题目前在Google中排名第一,我希望这可以帮助别人!)

@property标签允许你logging神奇的 phpvariables – 那些使用__get()__set()实现的variables。 标签应该在类定义之前的文档中使用:

 /** * Class Contact * @property string $firstName * @property string $lastName */ class Contact extends Model { ... 

这个符号触发自动完成,在Netbeans 8.1和PhpStorm 2016.1中testing。

在这里输入图像说明

在netbeans 8.0.2中, vdoc模板为您提供了:

 /* @var $variable type */ 

Netbeans不会识别这个,但是不会为你的对象提供正确的自动完成列表。 而是在variables声明之前使用它:

 /** @var objectType $varName */ 

我还没有真正看到股票vdoc模板的一个很好的用处,特别是对于要用作PDO或PDOStatement对象的类variables。

我使用的一个解决scheme实际上是进入工具/选项/编辑器/代码模板(selectPHP作为您的语言),并添加一个新的模板。 我打电话给我的提示 。 然后在扩展文本下使用下面的模板:

 /** @var ${VAR_TYPE variableFromNextAssignmentType default="ClassName"} $$${VARIABLE variableFromNextAssignmentName default="variable"} */ 
Interesting Posts