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

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

$blah = new Whatever();

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

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

【问题讨论】:

    标签: php netbeans autocomplete


    【解决方案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 自动完成...
    猜你喜欢
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多