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 VS ASP的更多相关文章

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. 10.5 Swift类方法

    /**类型方法通过类名称来调用的方法,就像类型属性一样。

  3. PHP实现文件安全下载

    例如你希望客户要填完一份表格,才可以下载某一文件,你第一个想法一定是用"Redirect"的方法,先检查表格是否已经填写完毕和完整,然后就将网址指到该文件,这样客户才能下载,但如果你想做一个关于"网上购物"的电子商务网站,考虑安全问题,你不想用户直接复制网址下载该文件,笔者建议你使用PHP直接读取该实际文件然后下载的方法去做。feof){echofread;}fclose;}这样就可以用PHP直接输出文件了。

  4. python中的import、from import及import as的区别解析

    在Python中,如果import的语句比较长,导致后续引用不方便,可以使用as语法,这篇文章主要介绍了python中的import、from import以及import as的区别,需要的朋友可以参考下

  5. PHP默认安装产生系统漏洞

    当你下载PHP後,在它内含的安装文件中帮助了PHP在NTApacheWebServer的安装方式,其中的安装帮助会要你将底下这几行设置加到apache的httpd.conf设置文件中,而这个安装文件将导引你将你的系统门户大开。

  6. 怎样在UNIX系统下安装php3

    #cd/usr/src#tarxvzfapache_1.3.6.tar.gz(产生apache_1.3.6目录)#tarxvzfphp-3.0.8.tar.gz(产生php-3.0.8目录)#cdapache_1.3.6#./configure--prefix=/usr/local/apache(把Apache的安装目录定为/usr/local/apache)#cdphp-3.0.8#./conf

  7. ftp类(example.php)

    flush();$ftp_ini_datei=$argv[1];require('./ftp_class.php');require($ftp_ini_datei);echo"\nCronjobstarted:";echodate("d.m.Y-H:i:s");echo"\n";$newftp=newmyftp;if(!$anonymous){$result=$newftp->connect($host,$user,$password);}else{$result=$newftp->connect($ho

  8. PHP分页显示制作详细讲解

    搞定了最重要的如何获取数据的问题以后,剩下的就仅仅是传递参数,构造合适的sql语句然后使用php从数据库内获取数据并显示了。

  9. JSP开发入门(五)--JSP其他相关资源

    JSP其他相关资源:ServletsandJavaServerPages(JSP)1.0:ATutorialhttp://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/JavaServerPagesTM:ADeveloper'sPerspectivehttp://developer.java.sun.com/developer/technicalArtic

  10. 如何防止IE缓存jsp文件

    1,使用java提供的方法,在jsp或者servlet中都可以2,使用HTML标记,如下面:

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部