1 . PHPUnitphp
测试在软件开发中是至关重要的一环,但不少开发者都只是给予不多的时间去测试,由于这工做的确至关耗时,枯燥而且容易出错。为了解决以上问题,自动化测试工具能让开发者编写一系列测试脚本,这些脚本能容易地执行,而且能够根据计划任务去执行。这些自动化测试工具一般提供了测试报告,里面详细描述了每次测试的结果。PHP开发者在自动测试化方面,有一个至关不错的测试框架PHPUNIT。基于很是流行的测试驱动开发方法,如xUnit,PHPUNIT容许开发者使用PHP的语法去编写测试用例,而后用很简单的命令行工具去执行测试。甚至你能够将PHPUNIT与一些持续集成工具如phpUnderControl整合(http://phpundercontrol.org/),这在本文稍侯会讨论。若是你不熟悉phpunit,能够查看以前的文章Use PHPUnit to Implement Unit Testing in Your PHP Development(http://www.phpbuilder.com/columns/Jason_Gilmore052510.php3),详细讲述了如何使用phpunit。git
2. Phing程序员
随着WEB开发项目变得愈来愈复杂,开发者面对一大堆部署的任务,这些任务不只仅是从开发者的机器上将文件传到生产服务器上那么简单了。好比避免上传开发环境的文件,如图片模版,处理服务器指定文件的权限和参数配置,象用户名口令,以及如何当发生变动错误时尽快恢复,这些问题都是开发者常常要碰到的。为了解决这些问题,开发者使用了专门的构建工具,它能使文件的传输过程更高效,由于它只同步传输改变过的文件。构建工具也可以很容易根据部署的环境而定制。若是你目前尚未利用构建工具,能够看看Phing,(http://phing.info/)这是一个基于Apache Ant的构建工具。它支持全部的操做系统,能很容易的使用XML语法进行配置,能与象CVS,SVN等版本控制工具整合,甚至能从你的自定义库中建立PEAR的包。github
3. GitHub缓存
我屡次提到了使用版本控制工具的好处。版本控制能给项目带来不少好处,包括能创建代码的实验分支,回滚不须要的变动,能查看某个文件最近被哪些团队成员改动过,以及经过日志监视进度。虽然如今有不少开源的版本控制工具,但Git目前是我最喜欢的。Git 的兴起很大程度上得益于一个提供第三方托管服务的GitHub(http://github.com/)网站,它为开发者提供了一系列的托管服务。GitHub知足了开发者的须要,甚至为开源项目提供了主机托管的服务。如今已经超过一百万的托管应用在上面了,GitHub为开发者提供了极具价值的服务,让他们不用花费大量金钱和时间去寻找第三方的托管服务。服务器
4. FirePHP框架
不少开发者对FireFox的插件Firebug是很是熟悉的,它能让你很容易地检查一个网页的HTML,CSS和Javascript的语法问题。使用FirePHP(http://www.firephp.org/),你一样能用象FireBug的界面去检查PHP语法的错误和所选择的分析数据。想了解更多Firebug和FirePHP的功能,能够查看"Firebug: Add Browser-based Debugging to Your Ajax Development".(http://www.developer.com/lang/jscript/article.php/10939_3879711_2/Firebug-Add-Browser-based-Debugging-to-Your-Ajax-Development.htm)。编辑器
5. XDebug工具
使用了象PHPUNIT这样的测试工具后,能在你写完代码后帮助捕捉到错误,另外一方面有时候你须要使用一些帮助工具去帮助了解这些问题的缘由。不少PHP开发者使用一个不错的调试工具XDebug(http://xdebug.org/),它能帮助你检查代码的状态,并提供工具去跟踪及剖析代码性能,查看对象内容和其余功能。若是想熟悉XDebug,能够查看以前的文章性能
A Sanity-Saving Debugging Solution for Your PHP Development(http://www.phpbuilder.com/columns/Jason_Gilmore051410.php3)。
6. PHP扩展和应用库
尽管你本身可能认为本身的想法是很惟一和特别的,但仍是很大机会你正在努力编写的代码,以前已经有很多其余的程序员已经编写出来了。为了帮助开发者克服这样的障碍,PHP开发者们按期贡献PHP的扩展和应用程序库,如著名的PEAR。PEAR里包含了560个包,能提供快捷的解决方案,如缓存,加密,用户验证和支付处理等。你总能够在PEAR中总能找到适合你的解决方案。
为了帮助管理PEAR包应用,能够安装PEAR包管理工具(http://pear.php.net/manual/en/installation.getting.php),它提供了命令行的界面去安装、升级和删除包。
7. PHP_CodeSniffer
正如关于编辑器的争论同样,对于编码风格的争论更具讽刺。虽然如此,PEAR提倡的编码标准看上去在PHP社区取得了一席之地,然而,你或者你所在的团队依然可能不采用这样标准约定,这将致使风格不一致的代码。
为了不代码风格的不一致,能够考虑安装PHP_CodeSniffer (http://pear.php.net/package/PHP_CodeSniffer),它是一个很不错的PEAR包,它能分析PHP程序,JAVASCRIP和CSS文件而且检查出哪些是与定义好的代码风格相违背的。虽然能够定义你本身的编码风格,但PHP_CodeSniffer的编码风格是十分方便的。
8. phpDocumentor
从晦涩的代码注释中去理解代码,这是十分沮丧的任务,即便代码是你本身之前编写的。就象测试,写文档依然是开发者但愿逃避的几个任务之一。为了减轻这样的痛苦,能够考虑使用象
phpDocumentor这样的自动文档化工具。phpDocumentor支持简单的文档规则语法,能够解析你的代码而且生成友好的文档。要了解更多关于phpDocumentor能够查看本人所写的导学文章Documenting PHP Code with PHPDocumentor
(http://www.developer.com/lang/php/article.php/3440261/Documenting-PHP-Code-with-PHPDocumentor.htm),并能够到phpDocumentor的网站下载最新的版本使用。
9. PHP_Beautifier
另外一个阻碍阅读代码的因素是很差的代码格式,由于在PHP这样的脚本语言中,很容易形成不恰当的缩进而造成很差的代码格式。你可使用PEAR中的包PHP_Beautifier
(http://pear.php.net/package/PHP_Beautifier)去自动化地格式化代码。
10. phpUnderControl
若是你正在考虑上述提到的工具,那么你能够下载phpUnderControl这个工具,它基于CruiseControl构建。phpUnderControl包括了多个PHP工具,如phpunit,phpdocumentor,并提供了统一的界面管理。