我有一个名为config.PHP的文件,我有其他文件包括config.PHP.当编辑一个文件时,我使用一个来自config.PHP的对象,它会自动填充对象的名称.但是,当我尝试查看此对象的函数或变量(使用 – >)时,没有自动完成.有什么办法让它工作吗?
注意:我已经在对象定义之前添加了/ * @var $myObject myType * / config.PHP.我必须将该行添加到我的每个文件包括config.PHP?这似乎不对.
编辑:添加样品.
目录;
> config.PHP
> index.PHP
> lib / test.class.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 include_once 'config.PHP'; // here,auto completes object name // not lists functions or variables after -> $TestObj->someFunction(); ?>
LIB / test.class.PHP;
<?PHP class test { public $var1; public function someFunction() { echo 'I am some function.'; return 0; } } ?>
当我添加/ * @var $TestObj test * /到index.PHP时,它正在工作,但是我会有很多这样的文件,并且必须比将该行添加到所有文件中更好的方法.
确保项目的所有文件都位于项目的包含路径中(右键单击项目 – >属性 – >包含路径).通常只有在“NetBeans”设置中配置的“全局包含路径”(例如指向您的PEAR目录).将包含要自动完成的源代码的所有目录添加到此包含路径.提示:这包括路径与PHP本身使用的include_path无关.
/* @var $TestObj test */ $TestObj->...
你应该给源头更多的apidoc,例如:
<?PHP class test { /** * @var SomeClass */ public $var1; /** * @return int */ public function someFunction() { echo 'I am some function.'; return 0; } }