7 种流行 PHP IDE 的比较

   编写关于 PHP 的系列文章让我更加深刻地了解了 PHP 开发人员的世界。我和许多 PHP 程序员交谈过,最令我惊奇的是只有很少的人使用 IDE。大多数程序员使用文本编辑器,比如 Microsoft Windows 上的记事本、Emacs 或者 Vim。

  我提到的这些文本编辑器(以及我没提到)都是很不错的 —— 我不想讨论哪个编辑器更好。但是,我要强调的是不使用文本编辑器会使您对 PHP 代码有更深的见解。几乎所有人都将 PHP 项目视为只不过是文件目录而已(这种看法十分片面)。现在就让我带您进入 IDE 的世界,向您展示 IDE 能够 —— 或者应该 —— 给您带来什么,并向您介绍七个最流行的 IDE。

  什么是 IDE?

  简而言之,IDE 为编码工作提供了一站式服务。IDE 包括一个编辑器,在此编辑器内可以编辑代码、调试代码、在浏览器(通常是嵌入式的)中查看代码和签入和签出源码控制。为了支持这些功能,IDE 拥有一套在基本编辑器(比如记事本或者 Vim)中所找不到的特性。当然,您可以通过扩展编辑器来实现这些功能,但是 IDE 在一个精简软件包中囊括了所有这些功能 —— 并都已预配置:

  项目

  IDE 的一个关键特性是它把一个 PHP 应用程序看作是一个项目,而不仅仅是一组文件。这个概念 —— 项目 —— 维护额外的信息,比如源码控制的配置、用于调试的数据库设置,以及某一关键目录所在位置。

  调试

  另一个方便的特性是集成调试。使用这个功能,可以在编辑器中设置断点,当 PHP 解释程序执行到这个脚本时就会停止。从断点开始,就可以检查局部变量的值,在代码中诊断问题。在代码中可以使用 echo 语句来检查值或者也可以使用错误日志获得变量的值。

  代码智能

  PHP 是一种非常规则的编程语言,这意味着它遵循着简单的模式。这些模式不仅使代码易于编写,也使 IDE 在项目中检查代码变得很容易。此外,它们可以通过显示检查结果帮助您编写程序。例如,如果在项目中定义了一个名为 MyClass 的类,在键入关键词 new 时,IDE 会立即提供一个包括 MyClass 作为选项的弹出窗口。当使用那种类型的对象时,IDE 就会显示它的可用方法和实例变量。当开始键入一个函数命令时,IDE 就会显示它的可用参数。公正地说,这是应该使用 IDE 而不是文本编辑器的首要原因。这种代码智能可以有效减少敲错类名、方法名和参数。

  类视图

  IDE 中的代码智能引擎产生的另一个作用是 IDE 可以产生项目的 类视图。系统不是显示文件,而是显示已经定义的不同的类,而不管它们所在的文件。当单击类时,编辑器访问相应文件并显示相应类、方法或者实例变量。这在大项目中是一种非常好的导航方法。

  多语言支持

  这里提到的每种 IDE 不仅支持 PHP 而且支持相关语言集:JavaScript、Structured Query Language(SQL)、Hypertext Markup Language(HTML)和 Cascading Style Sheets(CSS)。因为 HTML 和 CSS 比较简单,所以 IDE 对它们的支持是最好的。对于 JavaScript 的支持经常会突出语法,但是支持比不支持要好。

  源码控制

  这里评价的所有 IDE 都支持一些与源码控制系统的连接,允许随着时间维护项目中的文件版本。可以标记文件的特别版本为发布版本,这样在需要撤销改动的时候就可以恢复。在团队环境中使用源码控制系统是很关键的,即使对于个人使用也很重要。当磁盘瘫痪或者客户突然想要以前的版本而不是现在的版本的时候,一个好的源码控制系统就可以发挥作用了。大多数的 IDE 都支持 Concurrent Version System (CVS) 和 Subversion,它们都是开源控制系统。其中一种 IDE 支持 Perforce —— 一款商业源码控制系统。

  FTP/SFTP 集成

  与源码控制相关的一种功能是在服务器中对于最新的代码使用 FTP 。这比使用 FTP 客户机或者自己打包文件并发送给服务器然后再解包要容易许多。

  数据库导航

  一个非基本但十分有用的特性是数据库导航。使用这个特性,可以浏览应用程序访问的数据库、找到表格和字段名并返回查询结果。一些系统甚至可以自动写入一些数据库访问代码。

  集成 Web 浏览器

  一些 IDE 支持集成 Web 浏览器,可以直接导航到正在使用指定的附加参数编辑的页面,这个浏览器可以宿主在 IDE 内,也可以外部调用。诚实地讲,我并不大喜欢集成浏览器,因为我不介意在编辑代码和查看结果这两个独立的应用程序之间切换。但是我知道它确实有一定的作用,但您不必一定要使用它。

  片段

  在所有这些 IDE 中我发现的最后一个特性是对于整段和定制代码片段的支持。片段 是完成小任务(比如在一些输入中运行常规表达式、连接到数据库和查询数据库)的小部分代码。

  以上总结了目前从购买的或者开源的 IDE 中可以预期的核心特性。接下来,将会介绍一些流行的 IDE,展示一些 IDE 图片,并将解释它们所支持的功能及其成本。

  Eclipse

  在 Eclipse 开发平台中有两个插件支持 PHP。第一个 PHP IDE 项目是 Eclipse Foundation 项目,这意味着它在 Eclipse 许可范围内发布,并使用 Eclipse Foundation 工具和方法开发。

  另一个是 PHPEclipse,它是独立开发的。因为使用 Eclipse,所以这两个插件都可以在三大操作系统中运行:Windows、Linux 和 Mac OS X。您可以只下载这两个插件(如果已经使用 Eclipse),或者下载包含所需要的全部内容的 pre-fab 版本。

  这两个插件都支持核心 IDE 特性。特别是代码智能特性,它十分强大,可以在需要的时候弹出并显示所有需要的类、方法和参数信息。

  图 1 显示了 Mac OS X 上运行的 PHPEclipse。左边是在项目中文件的项目视图。下面是类视图,显示所有已经定义的类。中间是代码。可以同时在多个选项卡中打开多个文件。右边是调试和浏览的面板。这是常用的 PHPEclipse 用户界面。

  图 1. OS X 上的 PHPEclipse

  


  图 2 显示了来自 Eclipse Foundation 的 PHP IDE 项目插件。

  图 2. OS X 上的 PHP IDE 项目

  


  如果您不能看出区别,没有关系。这两个插件看起来确实非常类似,因为它们都依靠 Eclipse 平台呈现代码浏览和智能特性。Eclipse 插件 GUI 能够保持连贯性是件很好的事情。

  我没有发现哪一个插件可以把您锁定在某一个 Eclipse 项目中。您可以经常地将一个插件换成另一个插件。在我有限的测试中,我更喜欢 PHP IDE 项目插件,因为我感觉它集成得更好,而且代码智能特性的性能似乎更快捷。试试这两个插件,看看您更喜欢哪一个。

  这两个插件的缺点是 UI 不是为 PHP 量身订做的,原因是 Eclipse 可以用于几乎所有的编程语言。结果是,Eclipse 的术语最初有些另类。如果您刚开始学习 Eclipse,那么这些插件的学习比其他 IDE 更难一些。但是,如果已经了解 Eclipse,那么您就能比较快地熟悉 PHPEclipse 或者 PHP IDE 项目。

  Eclipse 和这些插件的最大优点是什么?它们是免费的,而且稳定、可靠。哦,我提到它们是免费的吗?

  Komodo

  下一个要介绍的是 ActiveState 的 Komodo IDE。这个 IDE 在 Windows、Mac OS X 和 Linux 上运行,并支持通用的开源语言 —— Perl、PHP 和 Ruby。代码智能引擎非常可靠。它扫描所有语言安装找到定制扩展,比如 PEAR 模块。在项目方面,它支持与 CVS、Subversion 和 Perforce 的集成,也允许直接向服务器 FTP 传递代码。

  图 3 显示了在 Windows 上运行的 Komodo。左边是类视图,右边是项目视图。中间的主要部分是代码视图。下面是调试用的断点、命令输出等等。对于所有这些系统,都可以根据需要定制 UI 。

  图 3. 在 Windows 上运行的 Komodo

  


  Komodo 是一个商业产品。在我写作本文的时候,这款 IDE 有个人版(US$29.95)和专业版(US$299.95)两个版本可选。它的一个独特的特性是常规表达式调试器。不管您是常规表达式的新手还是已经开始涉足高级常规表达式特性,这点购买的投入都是很值得的。

  它的缺点是没有数据库集成(至少我没有找到),而且我还遇到了代码智能不总是在想要的时候弹出的小问题。但是,总的来说,Komodo 还堪称是一款健壮的、特色丰富的、可靠的 PHP IDE。

  PHP 设计器

  PHP 设计器与其他 IDE 不太相同。当然,它支持有限的代码智能。但是,它更集中于 PHP Web 应用程序的设计方面。这一点在其集成的浏览器上可见一斑,该浏览器特别地采用了像素标尺用于帮助在页面上定位元素。

  图 4 显示了运行的 PHP 设计器。

  图 4. 在 Windows 上的 PHP 设计器

  


  PHP 设计器中的 PHP 的代码智能和调试特性不是很显著,而对 HTML、CSS 和 JavaScript 的代码智能支持上要相对更强一些。PHP 设计器介于程序员使用的 IDE (主要侧重于代码)和 Adobe Dreamweaver (更侧重于设计)之间。如果您正在寻找这类中间产品,那么 PHP 设计器很值得考虑,因为 IDE 对于个人使用是免费的,而其专业版也只需 US$55。

  PhpED

  NuSphere 的只用于 Windows 的 PhpED 在所有这里介绍的 IDE 中特性是最丰富的。它有一个很好的内部调试器,并为了更容易地访问页面调试而把调试工具条放到了 Microsoft Internet Explorer之内。

  图 5 显示了在 Windows 中使用 PHPEd 开发 PHP 应用程序。在最左边是项目的文件视图。右边紧挨着的是类视图,最右边是代码视图。下面是输出状态。您可能已经注意到,所有这些 IDE 都遵循着相同的基本设计风格。

  图 5. 在 Windows 中的 PhpED

  


  PhpED 的突出特性包括一个很棒的调试器、优秀的数据库访问、较好的代码智能特性以及集成的 PHP 帮助。PhpED 的价格范围从基础版本的 US$119 到专业版本的 US$495。另外还有试用版本可用。

  PHPEdit

  来自 WaterProof Software 的 PHPEdit 感觉像是应用于 PHP 的 Microsoft msdev 环境 —— 这是个不错的事情。PHPEdit 是仅用于 Windows 的 IDE,很容易设置。它甚至还有 PHP 的版本。在 PHP、CSS 和 HTML 的代码智能方面它做得很好,但是却不提供对 JavaScript 的代码智能的支持。图 6 显示了运行的 PHPEdit。

  图 6. 在 Windows 中的 PHPEdit

  


  为了便于部署,PHPEdit 可以连接到 CVS 和 Subversion,以及 FTP 和它自己专有的 ezDeployment 系统。除了代码智能特性,为了加速开发,这款 IDE 有一个极好的代码示例整体模板库,您还可以向库里面添加内容。PHPEdit 的评估版本可以免费使用,要得到正式版本,需要 US$89。

  Zend Studio

  最后,我们谈谈 Zend Studio,它被最后列出只是因为它以 Z 开头。它可能应该是您第一个想到的。为什么?因为它来自 Zend —— PHP 幕后的精英团队。 而且它真的是很不错。它运行于三大系统:Windows、Mac OS X 和 Linux。而且绝对能够提供您所需要的一切:PHP V4、PHP V5 等等。它的下载需要花很长时间,但是非常值得。

  作为 IDE,Zend Studio 是最好的。它提供所有想在内置库和定制代码中拥有的代码智能特性。它还有非常好的调试功能,而且极易设置。要把代码放到存储库(repository)中,Zend Studio 会连接到 CVS 和 Subversion。要把代码放到服务器上,有集成 FTP 可以使用。Zend Studio 非常适合 Macintosh,如图 7 所示。

  图 7. 在 Mac 上的 Zend Studio

  


  在其他一些 IDE 中,代码片段是内置的以使代码编制更为容易。这款 IDE 也直接集成了数据库以给出可用的表格和字段。

  Zend Studio 的标准版需要 US$99,专业版需要 US$299。我在这里提到的某些特性在标准版本中没有包含。Zend Studio 试用版本可以免费使用。

  结束语

  有许多极好的 IDE 可供选择 —— 其中一些甚至是免费的 —— 您尽可以选择一个试用一下,如果您是专业人员,就更应如此。您可能需要支付公司或者个人的顾问费用,也可能要花钱购买必需的商品。如果考虑使用 echo 调试代码对比使用集成的调试器所花费的时间,IDE 的购买价格绝对会物有所值。

时间: 2025-01-19 16:59:43

7 种流行 PHP IDE 的比较的相关文章

7种流行PHP集成开发工具的比较

本文发掘集成开发环境(IDE)的所有用途,并比较 7 种流行的 IDE 的成本和优势. 编写关于 PHP 的系列文章让我更加深刻地了解了 PHP 开发人员的世界.我和许多 PHP 程序员交谈过,最令我惊奇的是只有很少的人使用 IDE.大多数程序员使用文本编辑器,比如 Microsoft Windows 上的记事本.Emacs 或者 Vim. 我提到的这些文本编辑器(以及我没提到)都是很不错的 -- 我不想讨论哪个编辑器更好.但是,我要强调的是不使用文本编辑器会使您对 PHP 代码有更深的见解.几

DBA的选择:几种流行的数据库系统

几种流行的数据库系统 最"容易"的数据库系统-Microsoft SQL Server 如果你打算做一个DBA,建议你选择那些现在比较流行的数据库系统.这意味着你将有更多的就业机会.交流和培训机会,而且,流行自有流行的理由,你可以因此省心很多.当然,就业竞争压力也比较大.一般的入门者选择Microsoft SQL Server,这是非常适合中小型企业的数据库系统,熟悉Access的读者很容易就能初步使用Microsoft SQL Server,成为一个DBBS. JMicrosoft

“动态流、瀑布流、奖章”,三种流行的产品要素

根据我的研究和发现,得出了三种流行的产品要素"动态流.瀑布流.奖章",而我称之为产品三俗,因为容易流行而被滥用.而PM选择它们有可能是因为"时髦""标配""别人都在用",但是这很糟糕.又恰好动态流和奖章其实我都折腾过,所以多多少少吃过一点亏,现总结如下. ▎动态流 其实动态流能够给产品带来的好处有很多,比如以用户为节点实现了近乎于完美的信息分发网络.但是,在采用这个设计之前,我觉得我们首先应该要理解,在用户层面上,其本质就是&

Diffie-Hellman密钥交换是一种流行的加密算法

刚刚披露的Logjam漏洞(FREAK漏洞的变种)信息已经发送给了浏览器制造商,个大网站的管理员们正在忙于对他们所管理的站点进行更新和修复. 目前,只有微软的IE浏览器针对这个漏洞进行了补丁更新. TLS(传输层安全)协议用于对浏览器和网站服务器之间的通讯信息进行加密,而Logjam漏洞目前仍然存在于这个协议中.黑客可以通过将他们自己介入用户和服务器之间,便可以对原本安全的通讯信息进行拦截--其中最典型的攻击方法就是在公共Wi-Fi热点中进行"中间人"(MITM)攻击,然后黑客便可以利

两种流行的宽带接入解决方案

在城域网建设过程中,宽带接入网络即用户驻地网的建设是热点.信息化小区接入作为宽带接入的一种形式,目前正引起各家运营商的广泛关注.在具体实践中,目前较为流行的宽带接入技术有: ADSL.Ethernet.Home PNA.APON.LMDS.HFC等,而较为成熟可靠.普遍实施的接入方式有两种:ADSL宽带接入方式(混合型DSLAM.独立型DSLAM接入).光纤到小区+以太网方式, 如图1所示. 图1 目前普遍实施的接入方式 ADSL宽带技术 ADSL宽带技术兼容窄带和宽带业务,支持640kbps/

如何利用几种流行的SEO白帽手法产生大量高质量页面

收录在一定程度上证明了搜索引擎对网站友好的程度,同样大量的收录页面也证明了你的流量和关键字排名,当然,有了收录未必就代表了流量和关键字,比如你是做行业的,虽然你网站的内容被收录,如果标题.内容没有做好,那么也产生不了大量的流量. 在很多的行业网站上,都采用一些SEO白帽的手法来产生大量的"重点关键字"的页面,来让搜索引擎收录,从而得到高质量的关键字和大量的收录页. 第一种:利用TAG来聚合. TAG是制作网站的人经常碰到的一个名词了,但是很多的网站站长其实并没有真正的用好TAG这一功能

五种流行的linux版本介绍

  1.RedHat 国内乃至全世界的Linux用户最熟悉的发行版相比就是RedHat,1994年,MarcEwing(美国人,卡内基梅隆大学毕业)发布了RedHatLinux1.0.目前RedHat分为两个系列:一个是RedHatEnterpriseLinux(简称RHEL),redhat提供收费技术支持和更新,适合服务器用户;另一个是Fedora(第七版以前为FedoraCore),它的定位是桌面用户,Fedora是红帽公司新技术的实验场,许多新的技术都会在FedoraCore中检验,如果稳

构建富Internet应用程序 :使用OpenLaszlo、Eclipse Laszlo IDE和Web Tools

开始之前 本教程演示如何使用 OpenLaszlo 平台和 Web 服务来开发.打包和 部署一个已编写好的富 Internet 客户机.富客户端利用了后端的服务(这些后端服务是 通过使用 SOAP Web 服务的通用 SOA 方法提供).还将了解如何有效地使用 Eclipse Laszlo IDE 和 Eclipse Web Tools 来使得开发更加容易且富有生产效率. 关于 本教程 由于大多数 Web 应用程序都构建于 HTML 和 HTTP 之上,所以 Web 对于 用户经常使用的应用程序

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松.目前,市面上涌现出越来越多的高效编程工具.所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用.正在使用或将来一定会用到的高效工具.这份列表名单包括集成开发环境.集成工具.测试和质量工具等. 1.集成开发环境 Eclipse是最有名也最广泛使用的Java集成开发环境(IDE),允许开发者结合语言支持和其他功能到任何的默认包中,而且Eclipse市场有许多定制和扩展的插件. IntelliJ已经引起了开发