asp.net和php的区别点总结

asp.net和php哪个更好?

在.net之前,微软的是ASP。在微软的大力推广下,其看起来还是很有前途的。但现在,微软想推广asp.net,而ASP成了其障碍。所以从Windows Server 2003开始,微软对ASP做了许多限制,比如上传文件不能超过200KB等。

再看看现在,微软为了推广Windows Vista以及最新的Windows 7,对Windows XP做了些什么,直接对普通用户停止了技术支持,就是为了迫使你更换。如果以后,微软有了比.net更好的东西。微软估计会对.net做类似的限制,强制用户升级。

PHP是完全开源的,其需求更贴近日常的应用,代码风格类似于C语言,比较容易学习。

速度方面

虽然PHP不是经过编译的,但在Linux下的实际应用的执行效率肯定要比Windows下的.net快。运行时的安全性PHP肯定要比微软的.net要高。不过通常代码都是没有保护的。通常需要用商业的Zend软件来加密。当然这个加密的过程也是种编译的过程。保护了代码的同时,还提高了执行速度。新的Zend的加密算法,目前还没有成功破解的。而.net如果只做单纯的编译,是很容易被反编译回来的。

PHP目前有两个支线,一个PHP4、一个是PHP5。两个支线都在共同的维护中。这保证过去使用PHP4的系统仍然能保证持续的良好的安全性和功能的更新。

简介

ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。

PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

技术特点

ASP:

使用VBScript 、 JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。

无须compile编译,容易编写,可在服务器端直接执行。

使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。

与浏览器无关(Browser Independence), 用户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active ServerPages 所使用的脚本语言(VBScript 、 Jscript)均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。

Active Server Pages能与任何ActiveX scripting语言相容。除了可使用VB Script或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX 、Perl 、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model) 物件。

可使用服务器端的脚本来产生客户端的脚本。

ActiveX Server Components(ActiveX 服务器元件 )具有无限可扩充性。

可以使用Visual Basic 、Java 、Visual C++ 、COBOL等编程语言来编写你所需要的ActiveX Server Component 。

PHP:

数据库连接

PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数去间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松地更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。这也是PHP的一个弱点。

PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。

以上就是asp.net和php的区别的详细内容,更多请关注我们其它相关文章!

(0)

相关推荐

  • php 模拟 asp.net webFrom 按钮提交事件实例

    由于公司需要php方面的项目开发,php刚刚入门,在写按钮提交过程中,asp.net里的按钮事件更好些.先看下面的代码, <? require_once '../inc/EventHelper.php'; function Page_Load() { echo '在任何时候都会运行<br>'; if(!Page::IsPostBack()) { echo '加载产品分类<br>'; if($_GET['cmd']=='edit') { echo '修改加载需要修改的产品信息&

  • PHP模拟asp.net的StringBuilder类实现方法

    本文实例讲述了PHP模拟asp.net的StringBuilder类实现方法.分享给大家供大家参考.具体如下: 在asp.net开发开发环境中,有一个StringBuilder类是比较常用的, 这个类用起来可以实现很方便的text文本的操作. 但是在php中,没有这个类. 不过我们却可以通过自定义类来模拟这个方法. /******************************************** * * 函数名:StringBuilder * 作 用:构造PHP下的StringBuil

  • 盘点PHP和ASP.NET的10大对比!

    在网上论坛,总是有成百上千的文章和帖子在讨论 PHP 和 ASP.NET,究竟谁才是更好的平台?不过很可惜,大部分人的观点总是带有偏见的,人们总会有意无意地推广自己喜欢的语言. 此外,如果你注意过这些争论帖和文章的日期,就会发现大部分的信息都是过时的.太可惜了,这些搜索排名考前的文章提供的信息却不再有效.我们还要考虑到,PHP 和 ASP.NET 都是有周期性的版本升级和优化的. 个人认为,这两种编程语言都可以在非常庞大的 Web 应用和网站上成功使用,因此,它们处理大型网络应用程序的能力是毋庸

  • php/asp/asp.net中判断百度移动和PC蜘蛛的实现代码

    由于移动流量日趋增多,我们统计网站流量的时候,需要把移动和PC的流量分开,而遇到百度蜘蛛的时候,为了更好更细的统计,也需要把百度蜘蛛的移动端和PC端分别来统计,这对网站分析有着非常重要的意义.本文提供判断百度移动蜘蛛和百度PC蜘蛛的源代码,有php.asp.asp.net三个版本. php版 <?php $ua=$_SERVER['HTTP_USER_AGENT']; $ua=strtolower($ua); if($ua!="" && strpos($ua,&q

  • asp.net和php的区别点总结

    asp.net和php哪个更好? 在.net之前,微软的是ASP.在微软的大力推广下,其看起来还是很有前途的.但现在,微软想推广asp.net,而ASP成了其障碍.所以从Windows Server 2003开始,微软对ASP做了许多限制,比如上传文件不能超过200KB等. 再看看现在,微软为了推广Windows Vista以及最新的Windows 7,对Windows XP做了些什么,直接对普通用户停止了技术支持,就是为了迫使你更换.如果以后,微软有了比.net更好的东西.微软估计会对.net

  • asp.net发布后web.config中compilation的debug的值true和false区别点整理

    <compilation debug=true> 意味着可以插入一些debugger的中断,这样在开发是就可以调试了.false 用于已经发布的项目,它不需要再调试了, 一般开发是用true, 发布正式项目用false.主要区别是设置为true时 1) 由于编译优化被取消,编译ASP.NET 页需要更长的时间 2) 由于需要额外的debug,代码执行比较慢 3) 在系统运行时runtime 占用更多的内存,需要为debug创建冗余代码. 4) 脚本Scripts和图片没有被缓存cache,所以

  • ajax和fetch的区别点总结

    本教程操作环境:windows7系统.jquery1.10.2版本.Dell G3电脑. ajax和fetch的区别 (1).ajax是利用XMLHttpRequest对象来请求数据的,而fetch是window的一个方法 (2).ajax基于原生的XHR开发,XHR本身的架构不清晰,已经有了fetch的替代方案 (3).fetch比较与ajax有着更好更方便的写法 (4).fetch只对网络请求报错,对400,500都当做成功的请求,需要封装去处理 (5).fetch没有办法原生监测请求的进度

  • 详解ASP.NET Core 2.0 路由引擎之网址生成(译)

    问题 如何在ASP.NET Core 2.0中由路由引擎来生成网址? 答案 新建一个空项目,修改Startup.cs文件,添加MVC服务和中间件: public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopmen

  • 详解ASP.NET Core 2.0 视图引擎(译)

    问题 如何在ASP.NET Core 2.0中使用Razor引擎来创建视图? 答案 新建一个空项目,修改Startup.cs,添加MVC服务和请求中间件: public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelo

  • 浅谈ASP.NET Core中间件实现分布式 Session

    1.1. 中间件原理 1.1.1. 什么是中间件 中间件是段代码用于处理请求和响应,通常多个中间件链接起来形成管道,由每个中间件自己来决定是否要调用下一个中间件. 1.1.2. 中间件执行过程 举一个示例来演示中间件的执行过程(分别有三个中间件:日志记录.权限验证和路由):当请求进入应用程序时,执行执行日志记录的中间件,它记录请求属性并调用链中的下一个中间件权限验证,如果权限验证通过则将控制权传递给下一个中间件,不通过则设置401 HTTP代码并返回响应,响应传递给日志中间件进行返回. 1.1.

  • [译]ASP.NET Core 2.0 路由引擎详解

    本文介绍了ASP.NET Core 2.0 路由引擎详解,分享给大家,具体如下: 问题 ASP.NET Core 2.0的路由引擎是如何工作的? 答案 创建一个空项目,为Startup类添加MVC服务和请求中间件: public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app, IHostingEnvir

  • ASP.NET Core中使用xUnit进行单元测试

    单元测试的功能自从MVC的第一个版本诞生的时候,就是作为一个重要的卖点来介绍的,通常在拿MVC与webform比较的时候,单元测试就是必杀底牌,把webform碾压得一无是处. 单元测试的重要性不用多说了,有单元测试的做兜底的项目,好比给开发人员买了份保险,当然这个保险的质量取决于单元测试的质量,那些一路Mock的单元测试,看起来很美,但是什么都cover不到.目前工作中的一个老项目,有2万多个单元测试用例,其中不少是用心之作,真正落实到了业务逻辑,开发人员可以放心的去修改代码,当然一切都必须按

  • ASP.NET Core 2.0 本地文件操作问题及解决方案

    问题 如何在ASP.NET Core 2.0中受限地访问本地目录和文件信息? 答案 新建一个空项目,修改Startup类,添加访问本地文件所需的服务: public void ConfigureServices(IServiceCollection services) { services.AddSingleton<IFileProvider>( new PhysicalFileProvider(Directory.GetCurrentDirectory())); } 创建一个中间件,读取根目

  • [译]ASP.NET Core 2.0 网址重定向的方法

    问题 如何在ASP.NET Core 2.0中实现网址重定向? 答案 新建一个空项目,在Startup.cs文件中,配置RewriteOptions参数并添加网址重定向中间件(UseRewriter): public void Configure(IApplicationBuilder app, IHostingEnvironment env) { var rewrite = new RewriteOptions() .AddRedirect("films", "movies

随机推荐