PHP的主要竞争对手是Perl、Microsoft ASP.NET、Ruby(on Rails或其他)、JavaServer Pages(JSP)和ColdFusion。
与这些产品比较,PHP具有很多优点,如下所示:
■高性能
■可扩展性
■与许多不同数据库系统的接口
■内置许多常见Web任务所需的函数库
■低成本
■容易学习和使用
■对面向对象的高度支持
■可移植性
■开发方法的灵活性
■源代码可供使用
■技术支持和文档可供使用
接下来我们将详细介绍这些优点。
性能
PHP的速度非常快。使用一个单独的廉价的服务器,就可以满足每天几百万的点击。
Zend Technologies(http://www.zend.com)公司发布的评测表明PHP的性能要优于其竞争产品。
扩展性
PHP具有Rasmus Lerdorf经常提到的"shared-nothing"架构。这就意味着,你可以有效并廉价地对大量服务器进行水平方向扩展。
数据库集成
对于许多数据库系统来说,PHP都具有针对它们的内置连接。除了MySQL之外,你可以直接连接到PostgreSQL、mSQL、Oracle、dbm、FilePro、Hyperwave、Informix、InterBase和Sybase数据库。PHP 5还提供了针对普通文件(平面文件)的内置SQL接口,名为SQLite。
使用开放式数据库连接标准(ODBC),可以连接到任何提供了ODBC驱动程序的数据库。
这包括Microsoft产品和许多其他产品。
除了本机函数库,PHP还提供了数据库访问抽象层,名为PHP数据库对象(PDO),它提供了对数据的一致性访问,并且倡导了安全的编码实践。
内置的函数库
由于PHP是为Web开发而设计的,它提供了许多内置函数用来执行有用的Web任务。
它可以生成一个图像、连接到Web服务和其他网络服务、解析XML、发送电子邮件、使用cookie以及生成PDF文档,所有这些任务只需要非常少的几行代码。
成本
PHP是免费的,用户可以在任何时候从http://www.php.net站点免费下载最新版本。
容易学习PHP
PHP的语法是基于其他编程语言的,主要是C和Perl。如果读者已经了解了C或Perl,或者其他类似C的语言,例如C++或Java,那么几乎立即就可以高效地使用PHP。
对面向对象的支持
PHP版本5具有设计良好的面向对象特性。如果读者学习了使用Java或C++进行编程,将发现所期望的一些特性(和常见语法),例如继承、私有和受保护的属性和方法、抽象类和方法、接口、构造函数和析构函数。读者还将发现一些不常见的特性,例如迭代器。该功能的一部分可以在PHP版本3和版本4中获得,但是版本5中具有更全面的面向对象支持功能。
可移植性
PHP在许多不同的操作系统中都可以使用。我们可以在类似于UNIX的免费操作系统中(例如FreeBSD和Linux)编写PHP代码,也可以在商业性的UNIX版本(例如Solaris和IRIX,Mac OS X)或者在Microsoft Windows的不同版本中编写代码。
通常,代码不经过任何修改就可以在运行PHP的不同系统中运行。
开发方法的灵活性
PHP允许实现简单的任务,同样,也很容易应用到大型应用程序的实现,例如使用基于设计模式的框架(例如,模型-视图-控制器,MVC)。
源代码
我们可以访问PHP的所有源代码,与商业性的封闭式源代码产品不同,如果要在该语言中进行修改或者添加新特性,可以免费进行。
我们无须等待开发商来发布补丁,也不需要担心开发商倒闭或者决定停止对一个产品的支持。
可供使用的技术支持和文档
Zend Technologies(www.zend.com)公司,实现PHP的后台引擎公司,通过提供商业性技术支持和相关的软件为PHP开发提供支持。
PHP文档和社区都非常成熟,有大量的共享信息资源。