知识大全 PHP ASP.NET的较量

Posted 概念

篇首语:关山初度尘未洗,策马扬鞭再奋蹄!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 PHP ASP.NET的较量相关的知识,希望对你有一定的参考价值。

PHP ASP.NET的较量  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  PHP和ASP NET都可以构建复杂的Web应用程序(例如电子商务站点 Intranet和企业门户) 但两者之间却存在若干重要差别 与PHP不同 ASP NET并不是一种语言或分析器 而是Microsoft NET Framework中的一组用于构建Web应用程序和XML Web Service的技术 同PHP一样 Microsoft ASP NET页面在服务器上执行并生成标记(例如HTML WML或XML) 标记将发送给桌面应用程序或移动应用程序 但不同的是 ASP NET为开发Web页面提供了强大的 面向对象的以及由事件驱动的编程模型 同时仍保留了PHP开发人员所习惯的那种简单性

  PHP与ASP NET比 ASP NET应用程序是基于强大的面向对象编程(OOP)模式 而不是基于脚本模式 这样便可以获得更为严谨的OOP功能 例如继承 封装和反射 虽然大多数基本的简单操作可以轻松地从PHP转换到ASP NET 但要转换更为复杂的应用程序却并不这么简单 这需要仔细的规划和考虑 并采用更符合OOP的方法

  本文假设读者具有PHP方面的经验 并且对编程和软件开发有着基本了解 本文首先从代码方面对两者的基础体系结构的差别进行简单比较 并简要介绍一下OOP开发模型 然后比较两者的功能 最后将使用PHP和ASP NET开发Web应用程序时的语法和常见任务作以对比

  注意 如果您希望跳过有关迁移的详细信息 而只想尝试ASP NET的使用 则可以直接跳到建议的后续操作部分

  PHP ASP NET体系结构对比

  阅读完本文后 通过比较语法和语言 您将了解PHP和ASP NET是很相似的 它们具有类似的功能和语法 但是 从更基本的体系结构层面来讲 PHP与ASP NET却有着很大差别 PHP基于独立于平台的处理器/引擎 该处理器/引擎用于分析PHP脚本 提供数据库连接 符合Internet协议以及提供大多数Web应用程序平台所常见的众多其他任务

  ASP NET是基于一系列技术(如CLR)构建的框架 提供了大量以很好的方式组织的类库 这些类库可满足要在Web应用程序中使用的大多数功能的需要 您还可以轻松地创建各种组件 对该框架进行扩展

  虽然PHP也提供了类似的功能(例如PEAR库) 但PHP和ASP NET并非完全相同 因为ASP NET框架是完全基于OOP模式和OOP概念构建的 而PHP则不然 这种差别在PHP和ASP NET中类和对象的访问方式方面表现得犹为明显

  PHP ASP NET中的面向对象编程

  虽然PHP和ASP NET都为应用程序开发提供了OOP模式 但它们对各种OOP概念(例如封装和多态)的支持却存在差别 例如 PHP仅支持部分封装(例如 支持在类中声明方法和字段)和部分多态(没有重载和抽象) 此外 由于PHP的类中不存在私有(private) 公有(public)或受保护(protected )函数等概念以及重载 因此PHP也不支持这些概念及其访问 OOP纯粹主义者可能会说 ASP NET以及各种语言也没有完全支持OOP模式中的所有概念 对于使用OOP的大多数语言(如C++和Java)来说 情况确实如此

  这既有积极的一面 也有消极的一面 消极的一面是 对于某些Web开发人员来说 学习ASP NET要比学习PHP困难些 因为PHP提供的是开发人员创建Web站点时所惯用的脚本模式 但是 使用过OOP语言和/或V的开发人员会发现ASP NET比较亲切且易于学习

  ASP NET支持OOP概念的积极的一面是 ASP NET应用程序的大多数部分都会得到很好的设计 并且能够对内容 逻辑和数据进行清楚的分隔 因而从应用程序生命周期的长远角度看 这通常更容易为其提供支持 此外 由于ASP NET本身支持企业技术 例如消息队列 事务(请参阅 NET Framework的System EnterpriseServices类)SNMP和Web服务 因而可以很容易地开发具有高度可缩放性的强大的应用程序

  要大致了解面向对象编程(从Visual Basic的角度)的主要概念 请参阅Object Oriented Programming in Visual Basic

  PHP ASP NET编译

  PHP

  请求PHP页面时 HTML和内联PHP脚本将编译为Zend Opcode(Zend操作代码) Opcode是低级的二进制指令 是提供PHP页面时实际使用的代码 编译后 Zend引擎将运行Opcode(与Java的运行时引擎运行字节码类似) 然后生成HTML并提供给客户端

  有许多商业产品可用来通过优化这些Opcode来加快PHP页面的执行速度 其他提高PHP脚本性能的方法还包括对Opcode和生成的HTML进行缓存

  ASP NET

  当向IIS(Internet信息服务)或其他Web服务器请求 aspx页面(或ASP NET支持的任何其他扩展名)时 该请求将被传递到ASP NET进行处理 如果是第一次请求该页面 ASP NET会将其编译为MSIL(Microsoft中间语言) 然后 CLR(公共语言运行库)会将此MSIL代码转换为机器码 最后使用这个编译后的代码运行该请求 后续的请求将使用相同的机器码运行(假设该页面未被修改)

  需要注意的是 因为由CLR生成的二进制代码已经最大限度地进行了优化 所以不必再使用其他产品来帮助提高性能

  此外还要注意 ASP NET中的所有内容在运行前都被编译为机器码 甚至HTML文本也被转换为字符串常值控件 并按照适当的顺序插入到控件树中

  PHP ASP NET功能对比

相关参考

知识大全 在PHP中使用ASP.NET AJAX

在PHP中使用ASP.NETAJAX  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!编写Servic

知识大全 asp.net实现调用百度pai 在线翻译英文转中文

  注册个百度apikey  php?title=%E%B%AE%E%A%A%E%%%E%A%A%E%A%%E%A%B/%E%%BE%E%BA%A%E%BF%BB%E%AF%API然后代码如下只看红色

知识大全 ASP.NET 揭秘 ASP.NET页面的结构

ASP.NET揭秘ASP.NET页面的结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!TheSt

知识大全 ASP.NET底层架构探索之进入ASP.NET

ASP.NET底层架构探索之进入ASP.NET  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  A

知识大全 IIS处理Asp.net请求和 Asp.net页面生命周期

IIS处理Asp.net请求和Asp.net页面生命周期  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 如何由ASP.NET 1.1移植到ASP.NET 2.0

如何由ASP.NET1.1移植到ASP.NET2.0  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET入门教程 7.2 ASP.NET 2.0的数据控件

ASP.NET入门教程7.2ASP.NET2.0的数据控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 ASP.NET底层架构之从浏览器到ASP.NET

ASP.NET底层架构之从浏览器到ASP.NET  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

知识大全 ASP.NET编程工具ASP.NET Web Matrix详细介绍

ASP.NET编程工具ASP.NETWebMatrix详细介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 ASP.NET入门教程 10.4.1 ASP.NET2.0中的编译

ASP.NET入门教程10.4.1ASP.NET2.0中的编译  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来