netbeans 6.5 rc 下建立 Zend Framework 项目

首先,这不是一个指南,这只是一个简易说明。描述了如何在 netbeans 6.5 rc for php 中建立、开发、调试 Zend Framework 项目。

step by step:

1. 安装 netbeans 6.5 rc for php,由于 netbeans 6.5 rc for php 官方只放出了英文版本。中文版本要在这里下载

2. 安装 xdebug,这不是必要的一部,不过如果你想在 netbeans 中调试 php。这是非常必要的。相关内容去 xdebug 官方网站了解,这里也有简单的说明。

3. 我假设你在安装 netbeans 6.5 rc for php 未遇到任何问题,如果遇到了,请参考 netbeans 的 FAQ 关于安装的部分

4. 打开 netbeans 6.5 rc for php,在菜单中选择“新建项目”。当然更多时候 Ctrl+Shift+N 是一个更好的主意。

5. 选择“PHP 应用程序”点下一步。也可以导入现有的代码,实际上两者并无本质区别。

6. 设置项目的名称以及存储目录。实际上这个存储目录需要将所有项目用到的文件,如代码、文档、配置都包含进去,否则开发时将遇到无穷无尽的从 netbeans 切换到其他工具,再切换回来的情况。而用到的不再进行修改的库文件,反而可以不用包含。

7. 设置好名称和目录后,在“运行配置”中选择项目的部署方式,以及索引文件。通常本地开发网站,默认选择第一种方式即可。这时,netbeans 会默认以项目目录作为 webroot。索引文件可先随意选择一个项目目录中的文件。通常 Zend Framework 开发中 webroot 只是包含 index.php 入口和样式、图片等客户端使用的文件。例如目录“<项目目录>/www”。由于 Zend Framework 部署的特殊性,这里还要做修改。

8. 在“项目”面板中选择刚才建立的 php 项目,点击鼠标右键选择菜单项“属性”。

9. 在类别“源”的“Web 根目录”选择你真正的 webroot。例如:<项目目录>/www。

10. 在“项目属性”的“运行配置”类别中,调整索引文件到 index.php。实际上,如果你完成了 step 9,这里会有一个“不是合法的索引文件”的警告。直到你重新调整索引文件为合法文件。

11. 在“项目属性”的“PHP 包含路径”中设置你的 Zend Framework 路径。例如从 svn 导出的某个路径 ~/Zend Framework\library。

12. 至此已经基本设置完成,需要注意的是“项目属性”中的“调试服务器端 PHP”和“调试客户端 JavaScript” 需要勾上才可以正常调试。

简单测试一下代码编辑和调试的情况:

漂亮完整的代码提示,包括方法或属性类型、参数、所在的类名或文件名等等。同时还会解析 phpdoc。

强大的单步调试,我以前说过 php 让我头疼的就是调试。虽然 xdebug 很完美,但是所有调试器都有这样那样的不足。现在 netbeans 带来的是 java style 的调试方式,很好,很强大。

变量的监视信息详实准确,无需再为一个变量的值而 echo 来 var_dump 去了。

总体上来说,netbeans 6.5rc for php 是我见过的比较好的 IDE for php 之一。即便我坚信 IDE is evil ,netbeans for php 也让我眼前一亮。再配合其他插件如 svn、uml、database,已经无需其他工具辅助即可完成 php 日常开发所需。不过试用之后,也发现一些不足的地方:比如有一些提示框中英文混杂在一起;新建 php 工程的向导设置也过于简单,以至于建立 Zend Framework 项目时需要建立好后再次调整项目设置;又比如会莫名其妙的提示一个临时目录下某文件无法访问;再如代码提示时不能正确解析魔法方法,无法提示魔法方法提供的魔法属性等等。不过相信在正式的 6.5 版中这些问题都会一一得到解决,作为一个 rc 版本的软件来说,netbeans 已经做得够好了。

我计划在 PNP-广州 PHP 街坊群中推荐 netbeans 作为初学 Zend Framework 的平台,这样可以利用强大的单步功能,和代码提示功能来学习 Zend Framework,了解 Zend Framework 的运行机制。不知道大家对此有什么看法和意见,欢迎讨论。

PS: 推荐 eclipse 的朋友务必请考虑一下我那只有 512M 内存的本本,当时选择用 netbeans 写 java,就是因为它不是那么消耗内存和 cpu。

Join the Conversation

1 Comment

Leave a comment

Your email address will not be published. Required fields are marked *