使用 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 对象?的主要内容,如果未能解决你的问题,请参考以下文章