PHP VS ASP


Posted in PHP onOctober 09, 2006

PHP versus ASP
Thu, Aug 17, 2000; by John Lim.
序:
微软的ASP是一项强大的动态WEB页面技术,我已经使用了一年的ASP,用它创建了许多的WEB站点,但是现在我的公司正想转向另一项叫PHP的INTERNET技术,来进行以后的WEB站点开发。
问题是我们已经习惯于使用ASP,并且喜欢用它,为什么我们要转向PHP呢?

开放源码运动
首先,我们认识到,开源运动使我们获得了强大的技术支持和免费的代码供应。例如:在ASP中,上传文件、加密密码、发送邮件都需要第三方的商业软件的支持,是要收费的;但在PHP中,这一切是免费的!
但这还不足以说服我们转向PHP,因为我们已经投入了大量的时间和金钱在这些必需的商业软件工具上。

INTERNET程序和LINUX
我有一个梦想,我希望在将来每一个程序都是一个INTERNET程序。不用再需要购买软件包,不要再去安装它,它们能在INTERNET上得到,并且已经是安装好的,我们只要在浏览器中运行程序,这不会需要太多的配置。
大部分的网络应用程序都运行在LINUX和PHP上。它们通常不使用ASP,有一种软件叫Chilisoft ASP,它能在LINUX上运行ASP,但它是要钱的,同时它也不支持最新版的ASP,更重要的是创建高性能ASP站点所用的好的第三方DLL都不能运行在LINUX上。
于是,为了实现我们的INTERNET软件梦想,我们决定寻找一种更好的,接近于ASP的技术来替代它!

ISAPI的支持

ZEND团队正在开发的PHP核心引擎中就包括一个ISAPI引擎。
ISAPI是一种MICROSOFT的INTERNET WEBSERVER API,它的应用,使我们这些习惯于在WINDOWS下开发程序的程序员有了一条通向LINUX的捷径。

技术分析

每个人都声称自己的产品最快,这不是我真正关心的---我只关心“足够快”,对我来说,PHP足够快!
ASP支持多种程序语言。这种体系使得程序天生就带有慢和多内存占用,它的每一种语言解析就相当于一个PHP编译,(就是说,当ASP开始解析一条代码时,它相当于同时开动多个PHP),当ASP解析到一个ASP开始标记(<%)时,它需要跳出HTML解析进程而去选择另一个适当的解析进程,当它解析到一个ASP结束标记时,它又得退回到HTML解析进程。
同时,ZEND打算发布一个可以保护我们源代码的编译器,以及各种不同的优化技术(Zend Cache and Optimizer),甚至于实现PHP在WINDOWS下的良好应用,无疑,PHP在这一方面又将强于ASP!

一个使用PHP的商业决定

相对于PHP来说,这里有许多其它的开放源码选择,比如说perl,python/zope and jsp/tomact。对我来说,PHP最接近于ASP,同时也易于转换!
Perl: 一种不适用于大项目的语言.
Python/Zope:一种很好的语言,但它的体系不如PHP那般的接近ASP.
JSP/Tomcat: 我认为,比起脚本语言来,type-safe, type-bound, type-checking Java 不太好操作!

代码
我们注意到,我们用PHP开发的代码比用ASP开发的要短,这是因为,在PHP中HTTP GET和POST变量自动创建为全局变量,这样我们就不要再花费太多的时间去分析ASP REQUEST对象了。
同时PHP的include()函数非常好,我们能有条件的include代码,以使我们的代码尽量精简,更加易懂!
PHP有着相似于ASP的COOKIE和SESSION管理功能。

结论:
我现在还在使用PHP,在所有的地方使用“$”这个符号,它是非常酷的,同时它也是我最喜欢的一个符号!:)

PHP 相关文章推荐
PHP_MySQL教程-第一天
Mar 18 PHP
深入php list()函数的详解
Jun 05 PHP
php var_export与var_dump 输出的不同
Aug 09 PHP
php反射应用示例
Feb 25 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
Jun 30 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
Symfony生成二维码的方法
Feb 04 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
用PHP来写记数器(详细介绍)
Oct 09 #PHP
杏林同学录(三)
Oct 09 #PHP
福利彩票幸运号码自动生成器
Oct 09 #PHP
一个用php3编写的简单计数器
Oct 09 #PHP
php4的session功能评述(三)
Oct 09 #PHP
php4的session功能评述(一)
Oct 09 #PHP
php4的session功能评述(二)
Oct 09 #PHP
You might like
PHP的栏目导航程序
2006/10/09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP执行速率优化技巧小结
2008/03/15 PHP
phpinfo 系统查看参数函数代码
2009/06/05 PHP
PHP+MySQL 制作简单的留言本
2009/11/02 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
2010/03/23 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
浅谈tensorflow模型保存为pb的各种姿势
2020/05/25 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
大学生毕业自我鉴定范文
2014/02/03 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
生产助理岗位职责
2014/06/18 职场文书
出售房屋协议书范本
2014/10/06 职场文书
2014年少先队工作总结
2014/12/03 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
golang实现浏览器导出excel文件功能
2022/03/25 Golang
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers