热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

十款提高开发效率的PHP编译工具

当我们经常都要处理诸如象手工代码测试及部署这样枯燥重复的工作时,往往会感到沮丧。然而我们一直努力想变得高效率,正如DRY原则所说的(译者住:DRY=Don'tRepeatYourself,不重复原则,参见:http://en.wikipedia.org/wiki/Don%27t_repeat_yourself)。所

  当我们经常都要处理诸如象手工代码测试及部署这样枯燥重复的工作时,往往会感到沮丧。然而我们一直努力想变得高效率,正如DRY原则所说的(译者住:DRY=Don't Repeat Yourself,不重复原则,参见:http://en.wikipedia.org/wiki/Don%27t_repeat_yourself)。所以为什么不将这样的原则应用到软件开发的其他生命周期,使得能高效流畅并自动去完成这些工作呢?本文将向你介绍10款PHP开发工具,它们能正好能帮助你达到那样的要求,使你能有更多时间专注于建设更优秀的网页。

  1 . PHPUnit

  测试在软件开发中是相当重要的一环,但很多开发者都只是给予很少的时间去测试,因为这工作的确相当耗时,枯燥并且容易出错。为了解决以上问题,自动化测试工具能让开发者编写一系列测试脚本,这些脚本能容易地执行,并且可以根据计划任务去执行。这些自动化测试工具通常提供了测试报告,里面详细描述了每次测试的结果。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。

  2. Phing

  随着WEB开发项目变得越来越复杂,开发者面对一大堆部署的任务,这些任务不仅仅是从开发者的机器上将文件传到生产服务器上那么简单了。比如避免上传开发环境的文件,如图片模版,处理服务器指定文件的权限和参数配置,象用户名口令,以及如何当发生变更错误时尽快恢复,这些问题都是开发者经常要碰到的。为了解决这些问题,开发者使用了专门的构建工具,它能使文件的传输过程更高效,因为它只同步传输改变过的文件。构建工具也能够很容易根据部署的环境而定制。如果你目前还没有利用构建工具,可以看看Phing,(http://phing.info/)这是一个基于Apache Ant的构建工具。它支持所有的操作系统,能很容易的使用XML语法进行配置,能与象CVS,SVN等版本控制工具整合,甚至能从你的自定义库中创建PEAR的包。

  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,并提供了统一的界面管理。


推荐阅读
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 在椭圆形状设计中,色彩搭配方案对视觉效果和用户体验至关重要。本文分析了不同色彩组合在椭圆形状设计中的应用效果,特别探讨了白色背景与绿色文字的搭配,指出长期观看这种配色可能会导致视觉疲劳。通过引入多种色彩搭配方案,本文旨在为设计师提供更加科学和舒适的色彩选择建议。 ... [详细]
  • 深入解析 Spring MVC 的核心原理与应用实践
    本文将详细探讨Spring MVC的核心原理及其实际应用,首先从配置web.xml文件入手,解析其在初始化过程中的关键作用,接着深入分析请求处理流程,包括控制器、视图解析器等组件的工作机制,并结合具体案例,展示如何高效利用Spring MVC进行开发,为读者提供全面的技术指导。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 本文旨在构建一个JavaScript函数,用于对用户输入的电子邮件地址和密码进行有效性验证。该函数将确保输入符合标准格式,并检查密码强度,以提升用户账户的安全性。通过集成正则表达式和条件判断语句,该方法能够有效防止常见的输入错误,同时提供即时反馈,改善用户体验。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 本文深入探讨了原型模式在软件设计中的应用与实现。原型模式通过使用已有的实例作为原型来创建新对象,而不是直接通过类实例化。这种方式不仅简化了对象的创建过程,还提高了系统的灵活性和效率。具体来说,原型模式涉及一个支持克隆功能的接口或基类,子类通过实现该接口来提供具体的克隆方法,从而实现对象的快速复制。此外,文章还详细分析了原型模式的优缺点及其在实际项目中的应用场景,为开发者提供了实用的指导和建议。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 构建顶级PHP博客系统:实践与洞见
    构建顶级PHP博客系统不仅需要扎实的技术基础,还需深入理解实际应用需求。本文以Zend Studio为开发环境,MySQL作为数据存储,Apache服务器为运行平台,结合jQuery脚本语言,详细阐述了从环境搭建到功能实现的全过程,分享了开发PHP博客管理系统的宝贵经验和实用技巧。 ... [详细]
  • 定义Function类型:1functionsum(num1,num2){return num1+num2;}2varsumfunction(num1,num2){returnn ... [详细]
  • 一、index.php中:?phpechoahrefprocess.php?filenamehalo.mp3下载a?process.php中:?phph ... [详细]
author-avatar
你去过的地方叫远方
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有