我有一个名为config.php的文件,我还有其他文件包括config.php.当编辑其中一个文件时,我使用了config.php中的一个对象,它会自动补全对象的名称.但是,当我试图查看这个对象的函数或变量时(用-〉),没有自动补全功能.有什么方法可以让它工作吗?
注意:我已经在config.php的对象定义之前添加了/* @var $myObject myType */。我必须在每个包含config.php的文件中添加这一行吗?这似乎不对。
编辑:添加了样本。
目录;
- config.php
- index.php
- lib/test.class.php
配置. php;
<?php
define('ABSPATH', dirname(__FILE__));
include_once ABSPATH.'/lib/test.class.php';
/* @var $TestObj test */
$TestObj = new test();
// auto complete works here.
$TestObj->someFunction();
?>
. php文件;
<?php
include_once 'config.php';
// here, auto completes object name
// not lists functions or variables after ->
$TestObj->someFunction();
?>
php中找到了一个测试用例。
<?php
class test {
public $var1;
public function someFunction() {
echo 'I am some function.';
return 0;
}
}
?>
当我将/* @var $TestObj test */添加到index.php中时,它可以正常工作,但我将有很多这样的文件,一定有比将该行添加到所有文件更好的方法。
3条答案
按热度按时间q5iwbnjs1#
确保项目的所有文件都在项目的包含路径中(右键单击project -〉properties -〉include path)。通常只有“全局包含路径”,您可以在NetBeans设置中配置它(例如指向您的PEAR目录)。将包含您希望自动完成的源代码的所有目录添加到该包含路径中。提示:这个include路径与PHP本身使用的include_path没有任何关系。
此外,在古代码中不使用提示:
你应该给予源代码一些更多的apidoc,例如:
由于PHP的动态特性,IDE会根据这些信息给予正确的提示。
wmomyfyw2#
转到工具-〉选项-〉点击顶部的PHP图标-〉常规选项卡-〉找到“全局包含路径”-〉添加文件夹-〉
如果(在Linux上){选择/var/www;}如果(在Windows上){选择c:\路径_to_htdocs或任何内容;}
啊,今天的节目太多了。:)
对我来说,这修复了自动完成和ctrl+click方法调用。
goqiplq23#
从netbeans转到
tools->options
转到编辑器选择,然后从代码完成选择php作为语言部分。这将展开菜单,您将看到一个Code Completion for Class Methods
部分通过选中该部分上的复选框来设置该配置。
我希望我能理解这一点。我也使用netbeans,我可以自动完成后,我改变了我的netbeans设置。