使用 PDT/Netbeans 中的类自动完成 PHP 对象?

Posted

技术标签:

【中文标题】使用 PDT/Netbeans 中的类自动完成 PHP 对象?【英文标题】:Autocomplete for PHP Objects with classes in PDT/Netbeans? 【发布时间】:2010-09-28 06:13:07 【问题描述】:

当我像这样使用 new 定义一个类的对象时

$blah = new Whatever();

我得到 $blah 的自动完成功能。 但是当我有 $blah 作为函数参数时我该怎么做呢?没有自动完成我是不完整的。

编辑如果它在 include 中,而 PDT 或 Netbeans 无法弄清楚,我该怎么做? 有没有办法在 in 中声明变量的类型php

【问题讨论】:

【参考方案1】:

第一个注释中的方法称为“类型提示”,但您应该明智地使用它。更好的解决方案是 phpDoc。

/**
 * Some description of function behaviour.
 *
 * @param Whatever $blah
 */
public function myFunction($blah)

    $blah-> 
    // Now $blah is Whatever object, autocompletion will work.

您也可以使用内联的 phpDoc 注释,它的作用完全相同。

public function myFunction($blah)

    /* @var $blah Whatever  */
    $blah-> 
    // Now $blah is Whatever object, autocompletion will work.

【讨论】:

艾伦,你是说这在 PDT 中有效,因为在 Netbeans 中 class Joe public $a;公共 $b; /* @var $joe Joe */ $joe-> 不会自动完成。 我刚刚在 Netbeans 6.9.1 中尝试过这个,它就像一个魅力。在我看来,比接受的答案更简单,似乎自从添加了 Yar 的评论以来,对 php 的支持有所改善。【参考方案2】:

尝试将参数类定义传递给函数:

function myFunction(Whatever $blah) 

【讨论】:

这行得通,但现在我已经扩展了这个问题,希望你不介意!感谢您的出色回答,这已经有所帮助。 啊,关于“编辑”:我真的不知道如何以优雅的方式制作它。但是我的 Eclipse+PDT 安装很好地解决了类似情况下的类参数。 好吧,如果没有人能打败它——很有可能,但也许有一些commmenty的方法可以做到——我会给你最好的答案。试试 Netbeans,我刚从 PDT 切换过来……你可能会喜欢它。 感谢您的建议,我一定会试试 Netbeans。公平地说 - 我还没有看到 NB 中的 PHP,只有 java 和 ruby​​。 嗯.. 刚刚在 NetBeans 6.5 中尝试过,它可以工作。我制作了一个带有一些变量的示例类,将其放在单独的文件中,将此文件包含在我的脚本中,使用 new() 创建 $sample var 并将此 var 传递到具有类型定义的函数中。而且我已经在函数中为这个 var 自动完成...

以上是关于使用 PDT/Netbeans 中的类自动完成 PHP 对象?的主要内容,如果未能解决你的问题,请参考以下文章

Angular:删除项目后自动完成字段更改焦点

在 Objective-C 中的类属性上使用单词“set”

带有链接的 JQuery 自动完成

在未完成的类层次结构中的“最终”类上使用虚拟继承

使用单个文件中的类作曲家自动加载

Visual Studio 和使用 C++ 中的类工厂自动创建对象