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 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
介绍php设计模式中的工厂模式
Jun 12 PHP
php getsiteurl()函数
Sep 05 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
Web程序工作原理详解
Dec 25 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 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 生成饼图 三维饼图
2009/09/28 PHP
PHP iconv 函数转gb2312的bug解决方法
2009/10/11 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python实现linux下抓包并存库功能
2018/07/18 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
python向图片里添加文字
2019/11/26 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
SportsDirect.com新加坡:英国第一体育零售商
2019/03/30 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
描述内存分配方式以及它们的区别
2016/10/15 面试题
机械设计专业应届生求职信
2013/11/21 职场文书
六一亲子活动总结
2014/07/01 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
主题班会开场白
2015/06/01 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL