栏目树
Eclipse/Zend studio匿名类代码不提示的解决办法

匿名类写法:


new class extends \CAPI{
	public function main(){
		
	}
};
这样,在main里写的代码,没有代码提示。我理解的原因,是Eclipse/Zend studio无法当前代码所在的作用域是属于哪里,该调取哪个库里的方法来作为代码提示。
修改一下写法:

$tmp = new class extends \CAPI{
	public function main(){
		
	}
};
没错,就是加个变量装起这个实例,Eclipse/Zend studio解析完代码后,会对这个变量进行缓存分析,它就会保留这个匿名类在内存中,它就能知道你写代码的地方是哪个作用域了。I think。

然而,这样写后Eclipse/Zend studio 就会给$tmp一个黄色波浪线,提示此变量没有使用。因为我这个CAPI在构造方法里调用main,即main方法会在new完后自动执行。所以赋值完后,就已经完成我需要运行的逻辑了,unset掉这个变量,Eclipse/Zend studio就会分析到你使用了这个变量,黄色波浪线就会消失。

所以,$tmp=是多余的,只是为了代码提示。unset($tmp)也是多余的,仅仅是为了消除黄色波浪线提示。