我已经工作了6个小时,试图让PHP的标准核心功能与Eclipse 3.6和PDT 2.2.1一起使用。出于某种原因,函数如echo,empty()和isset()在代码完成时出现,但是strtotime()和array_push()之类的函数没有,即使我按下CTRL + SPACE也是如此。此外,函数mysql_connect()出现在代码辅助中,但mysql_query没有。
我查看了几个谷歌搜索结果和stackoverflow Q& As,发现了许多与此类似的解决方案:
Code completion/assist for built-in PHP functions in Eclipse PDT
我确保我的.buildpath看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
<buildpathentry external="true" kind="lib" path="/Applications/MAMP/htdocs/harvestopia"/>
<buildpathentry external="true" kind="lib" path="/Applications/MAMP/bin/php/php5.3.6"/>
<buildpathentry external="true" kind="lib" path="/Applications/MAMP/htdocs/yharvestopia/YiiRoot/framework"/>
<buildpathentry kind="src" path=""/>
</buildpath>
我的.project看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>harvestopia</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.dltk.core.scriptbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.maziarz.yiiclipse.builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.php.core.PHPNature</nature>
<nature>org.maziarz.yiiclipse.nature</nature>
</natures>
</projectDescription>
我的.settings / org.eclipse.php.core.prefs看起来像这样:
#Sat Nov 05 00:40:34 MDT 2011
eclipse.preferences.version=1
include_path=1;/Applications/MAMP/htdocs/yharvestopia/YiiRoot/framework
我真的是撞在墙上,真的可以使用一些建议。
更新:如果没有Yiiclipse,它仍然无效。我在名为Test的新工作区中创建了一个新项目。这些文件如下所示,但仍然不允许对标准函数进行代码辅助。
的.project:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>test</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.dltk.core.scriptbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.php.core.PHPNature</nature>
</natures>
</projectDescription>
.buildpath:
<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
</buildpath>
.settings / org.eclipse.php.core.prefs:
#Sat Nov 05 09:38:26 MDT 2011
eclipse.preferences.version=1
include_path=0;/test
答案 0 :(得分:2)
6小时后,我发现了一些有效的东西。我不知道为什么会这样,但它可能与我现在不理解的依赖和其他垃圾有关。
我做了什么:
1)卸载Yiiclipse(安装左侧PDT) 2)删除了我工作区以外的所有文件 3)创建了一个新的PHP项目,例如&#34; blog&#34;在我的网站根目录中 4)使用yiic脚本,我在博客文件夹中创建了新的webapp 5)打开Eclipse并刷新项目。 6)右键单击项目 - &gt;构建路径 - >配置构建路径 7)点击Link Source ... 8)链接到文件夹位置webroot / YiiRoot / framework 9)选择&#34;更新其他源文件夹中的排除过滤器以解决嵌套&#34;
一切都按预期工作。
答案 1 :(得分:1)
我发现安装PDT作为yiiclipse的依赖导致同样的问题(可能不是所有的依赖都包含在yiiclipse中)。但是如果卸载yiiclipse,请安装PDT SDK插件(来自indigo updatesite),再次安装yiiclipse - std库函数的代码完成工作正常。
答案 2 :(得分:0)