Netbeans 自动完成 php 类的方法

Netbeans 自动完成 php 类的方法

我在 Netbeans 7.3 中创建了一个 php 项目。我有一个类(MYSQL_DB)。当我想在定义该类的文件中访问其方法时,它会显示以下内容: Netbeans 正在显示方法

请注意,这超出了类定义范围(未使用$this)。但是当我想在此文件之外访问其方法时,它什么也没显示:

Netbeans 无法显示方法

问:在所有文件中输入类名(如第一张图片)时,有没有办法显示方法?
提前致谢!

答案1

我怀疑问题在于 Netbeans 不知道变量的类。(这在 PHP 中经常发生,因为它是弱类型。)在将值分配给变量后,立即添加一个特殊的类型提示注释:

$database=someFunction(); /* @var $database DatabaseClass */

此提示将告诉 Netbeans $database 的类型,允许它建议方法。如果您可以控制 someFunction 的来源,也可以在那里添加提示。请参阅https://blogs.oracle.com/netbeansphp/entry/defining_a_variable_type_in举出很多例子。

答案2

首先在声明变量的地方添加注释作为代码提示。在类属性中使用长格式注释:

/**
 * @var \ClassName $varname
 */
 private $varname;

在课程中你通常可以使用内联注释:

/* @var \ClassName $inlinevar */
$inlinevar = new ClassName();

您可能需要清除缓存,当自动完成功能对同一项目中的类不起作用时,这会有所帮助。在 Linux 上,查看主目录 ~/.cache/.netbeans/ 并删除项目版本的子目录(始终先备份以防出现问题)。

如果您的类位于另一个项目中,您可能需要将路径添加到另一个项目的根文件夹,以便 Netbeans 可以扫描该文件夹以查找类定义。

相关内容