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生成缩略图的类代码
Oct 02 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
PHP开发微信支付的代码分享
May 25 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
PHP实现链式操作的核心思想
Jun 23 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 PHP
php htmlentities()函数的定义和用法
May 13 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
Jun 06 PHP
如何在PHP环境中使用ProtoBuf数据格式
Jun 19 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 zend解密软件绿色版测试可用
2008/04/14 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
prototype Element学习笔记(篇二)
2008/10/26 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
对python中的高效迭代器函数详解
2018/10/18 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
团员的自我评价
2013/12/01 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
学生实习证明范文
2014/09/28 职场文书
教师个人考察材料
2014/12/16 职场文书
公司年会开场白
2015/06/01 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python