PHP 七大优势分析


Posted in PHP onJune 23, 2009

虽然ASP是一种不错的技术,但从长远考虑我相信PHP在将来的技术领里会有不凡的表现。

我认为有七个理由可以说明PHP比ASP更优秀:

  1、速度、速度、速度

当我第一次运行PHP脚本程序时,我不禁对自己说:“太快了”,当时我是在仪态166MHZ的机器上运行我的程序的,但运行的速度仍然很快。

ASP是永远也不会象PHP这样快的,因为ASP是建立在COM体系结构之上的。当用VBScript写ASP脚本时,实际上实在使用COM的对象,当向用户浏览器发送信息时,它用的是Response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的COM对象。这些COM对象的使用使运行速度下降。

在PHP代码中,所有的工作都运行在PHP的内存空间中,也就是说PHP不是基于COM对象的,所以的他的运行速度会快一些。

下面是我们在MSSQL7 40次运行一个查询语句的执行时间统计:

PHP Querying MSSQL7 时间(秒)

用 MSSQL extension 01.88

用 ODBC extension 09.54

用 ODBC via COM (ADO) 17.28

用 OLEDB via COM 06.19

当我们使用PHP.ODBC,访问数据库用了9.54秒,而用COM接口去连接数据库需要比PHP所用的时间高80%。

OLEDB是微软的一种高速访问数据库的技术,他比ODBC要快。但当我们所PHP和OLEDB的效率实验时,结果是PHP的整体性能比OLEDB高200%,如此的出一个结论,如果不采用COM可以获得较快的执行速度。

当然PHP的执行速度还不是最快的,但我们才刚刚开始起步,我们会逐步的完善他,而且PHP是一种开放源代码编程语言,世界上许多程序员在不断的完善他的技术,相信他一定会比非开放源代码系统获得更高的执行速度的。

2、高级内存管理

在IIS4下,一个ASP脚本header.asp,如果被20个页面所包含,那么运行的时候,在内存当中会保留这20个header.asp的编译副本,IIS5解决了这个问题,但只有windows2000才支持IIS5,由于这种IIS5的不能向下兼容的原因,许多服务器仍然要使用IIS4下的低级的内存管理。

而在PHP中,不会存在这种问题,只有当require时,才会调用某个include文件。
3、没有后顾之忧

我非常憎恨的一件事情就是会买到一件不放心的产品,比如当你买了一辆汽车,但由于发动机是坏的,你需要更换他;当你买了一栋房子的时候,你要去修补漏雨的屋顶。

那么ASP旧乡这些产品一样,当你买了ASP之后,如果你需要加密技术,你就要买ASPEncrypt;当你需要Email管理时,你就要买ServerObjets Qmail;当你需要文件上传时,你还要买Artisans SA-FileUp.

4、MySQL使PHP更精彩

PHP与MySQL的组合既简单又精彩。PHP有许多管理和维护MySQL的工具,对MySQk的支持是最全面的。许多有用的函数如mysql_insert_id和mysql_affected_rows等,其他的数据库则没有。

ASP和PHP都是中型网站的较理想的解决方案,但PHP与MySQL的紧密结合使PHP更加优越。

MySQL的虚度比Microsoft Access速度快,Mssql和Oracle速度比MySQL要快,可是费用较高。

5、Java和C++的变成风格

这个优点只是一个看法。

我知道你不会相信一个Visual Basic程序员会因为PHP有Java和C++的编程风格而转向使用PHP,但你会相信有许多人还是喜欢Java和C++的,PHP是一种具有这两种语言的编程风格的较容易学习的语言。

PHP支持结构化编程,在VB因为他的继承性使用类还是较少的。而PHP的象Java和C++一样的继承性使一个大型的程序中到处都充满了类的影子。

6、Bug的处理

你是否曾经要求Microsoft修改ASP的一些Bug呢?如果你不是一个象Boeing一样的组织,你无法获得迅速而恰当的修改,把么当你遇到Bug而停止工作时,如果这个Bug不修改,你将无法继续你的工作的。

PHP,当你发现Bug时,你可以修改他,如果你没有专家的水平,你可以请专家修改,并且你的修改会得到开放代码组织的接受和认可。

7、移植性

Microsoft经常修改ASP,下一版本叫ASP+,现在已经开始测试。我相信他们会修改许多我曾经提到过的问题。但也无庸质疑的,Microsoft会将你限制在他们的产品范围之内的。

我曾经是一个苹果机的程序员,当windows95问世后,我开始转变,但许多原来的代码都无法在windows95下运行,这些代码现在被放在一边,我非常的遗憾。所以我不希望在windows下再出现这样的悲剧。

不要忘记Novell曾经也象Microsoft的网络操作系统一样热及一时,但现在已经没有许多人用了,那么Microsoft也会这样的。

我找到了PHP,我仍旧在windows下工作,但我知道PHP代码可以运行在Solaris、Linux和许多其他的操作系统中,我的心里感到安慰

PHP 相关文章推荐
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
PHP中Restful api 错误提示返回值实现思路
Apr 12 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
thinkPHP中验证码的简单实现方法
Dec 05 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
PHP封装的分页类与简单用法示例
Feb 25 PHP
php 404错误页面实现代码
Jun 22 #PHP
PHP 多进程 解决难题
Jun 22 #PHP
PHP 高级课程笔记 面向对象
Jun 21 #PHP
mysql 性能的检查和优化方法
Jun 21 #PHP
php fckeditor 调用的函数
Jun 21 #PHP
学习discuz php 引入文件的方法DISCUZ_ROOT
Jun 21 #PHP
php 分页函数multi() discuz
Jun 21 #PHP
You might like
PHP脚本的10个技巧(2)
2006/10/09 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
2012/10/03 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
php生成curl命令行的方法
2015/12/14 PHP
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
使用python对文件中的数值进行累加的实例
2018/11/28 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
Python 字符串池化的前提
2020/07/03 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
linux面试题参考答案(11)
2016/11/26 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
九年级家长会邀请函
2014/01/15 职场文书
全陪导游欢迎词
2014/01/17 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
学校与家长安全责任书
2014/07/23 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript
pycharm无法安装cv2模块问题
2022/05/20 Python