LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

PHP與ASP.NET的比較

admin
2015年2月1日 0:17 本文熱度 7398
PHP和ASP.NET都可以構(gòu)建復(fù)雜的Web應(yīng)用程序(例如電子商務(wù)站點(diǎn)、Intranet和企業(yè)門戶),但兩者之間卻存在若干重要差別。與PHP不同,ASP.NET并不是一種語(yǔ)言或分析器,而是Microsoft .NET Framework中的一組用于構(gòu)建Web應(yīng)用程序和XML Web Service的技術(shù)。同PHP一樣,Microsoft ASP.NET頁(yè)面在服務(wù)器上執(zhí)行并生成標(biāo)記(例如HTML、WML或XML),標(biāo)記將發(fā)送給桌面應(yīng)用程序或移動(dòng)應(yīng)用程序。但不同的是,ASP.NET為開發(fā)Web頁(yè)面提供了強(qiáng)大的、面向?qū)ο蟮囊约坝墒录?qū)動(dòng)的編程模型,同時(shí)仍保留了PHP開發(fā)人員所習(xí)慣的那種簡(jiǎn)單性。

  PHP與ASP.NET比,ASP.NET應(yīng)用程序是基于強(qiáng)大的面向?qū)ο缶幊?OOP)模式,而不是基于腳本模式。這樣便可以獲得更為嚴(yán)謹(jǐn)?shù)腛OP功能,例如繼承、封裝和反射。雖然大多數(shù)基本的簡(jiǎn)單操作可以輕松地從PHP轉(zhuǎn)換到ASP.NET,但要轉(zhuǎn)換更為復(fù)雜的應(yīng)用程序卻并不這么簡(jiǎn)單,這需要仔細(xì)的規(guī)劃和考慮,并采用更符合OOP的方法。


  本文假設(shè)讀者具有PHP方面的經(jīng)驗(yàn),并且對(duì)編程和軟件開發(fā)有著基本了解。本文首先從代碼方面對(duì)兩者的基礎(chǔ)體系結(jié)構(gòu)的差別進(jìn)行簡(jiǎn)單比較,并簡(jiǎn)要介紹一下OOP開發(fā)模型,然后比較兩者的功能,最后將使用PHP和ASP.NET開發(fā)Web應(yīng)用程序時(shí)的語(yǔ)法和常見任務(wù)作以對(duì)比。


  注意:如果您希望跳過(guò)有關(guān)遷移的詳細(xì)信息,而只想嘗試ASP.NET的使用,則可以直接跳到建議的后續(xù)操作部分。


  PHP ASP.NET體系結(jié)構(gòu)對(duì)比


  閱讀完本文后,通過(guò)比較語(yǔ)法和語(yǔ)言,您將了解PHP和ASP.NET是很相似的,它們具有類似的功能和語(yǔ)法。但是,從更基本的體系結(jié)構(gòu)層面來(lái)講,PHP與ASP.NET卻有著很大差別。PHP基于獨(dú)立于平臺(tái)的處理器/引擎,該處理器/引擎用于分析PHP腳本、提供數(shù)據(jù)庫(kù)連接、符合Internet協(xié)議以及提供大多數(shù)Web應(yīng)用程序平臺(tái)所常見的眾多其他任務(wù)。


  ASP.NET是基于一系列技術(shù)(如CLR)構(gòu)建的框架,提供了大量以很好的方式組織的類庫(kù),這些類庫(kù)可滿足要在Web應(yīng)用程序中使用的大多數(shù)功能的需要。您還可以輕松地創(chuàng)建各種組件,對(duì)該框架進(jìn)行擴(kuò)展。


  雖然PHP也提供了類似的功能(例如PEAR庫(kù)),但PHP和ASP.NET并非完全相同,因?yàn)锳SP.NET框架是完全基于OOP模式和OOP概念構(gòu)建的,而PHP則不然。這種差別在PHP和ASP.NET中類和對(duì)象的訪問(wèn)方式方面表現(xiàn)得猶為明顯。


  PHP ASP.NET中的面向?qū)ο缶幊?/P>

  雖然PHP和ASP.NET都為應(yīng)用程序開發(fā)提供了OOP模式,但它們對(duì)各種OOP概念(例如封裝和多態(tài))的支持卻存在差別。例如,PHP僅支持部分封裝(例如,支持在類中聲明方法和字段)和部分多態(tài)(沒有重載和抽象)。此外,由于PHP的類中不存在私有(private)、公有(public)或受保護(hù)(protected )函數(shù)等概念以及重載,因此PHP也不支持這些概念及其訪問(wèn)。OOP純粹主義者可能會(huì)說(shuō),ASP.NET以及各種語(yǔ)言也沒有完全支持OOP模式中的所有概念,對(duì)于使用OOP的大多數(shù)語(yǔ)言(如C++和Java)來(lái)說(shuō),情況確實(shí)如此。


  這既有積極的一面,也有消極的一面。消極的一面是:對(duì)于某些Web開發(fā)人員來(lái)說(shuō),學(xué)習(xí)ASP.NET要比學(xué)習(xí)PHP困難些,因?yàn)镻HP提供的是開發(fā)人員創(chuàng)建Web站點(diǎn)時(shí)所慣用的腳本模式。但是,使用過(guò)OOP語(yǔ)言和/或V的開發(fā)人員會(huì)發(fā)現(xiàn)ASP.NET比較親切且易于學(xué)習(xí)。


  ASP.NET支持OOP概念的積極的一面是,ASP.NET應(yīng)用程序的大多數(shù)部分都會(huì)得到很好的設(shè)計(jì),并且能夠?qū)?nèi)容、邏輯和數(shù)據(jù)進(jìn)行清楚的分隔,因而從應(yīng)用程序生命周期的長(zhǎng)遠(yuǎn)角度看,這通常更容易為其提供支持。此外,由于ASP.NET本身支持企業(yè)技術(shù),例如消息隊(duì)列、事務(wù)(請(qǐng)參閱.NET Framework的System.EnterpriseServices類)SNMP和Web服務(wù),因而可以很容易地開發(fā)具有高度可縮放性的強(qiáng)大的應(yīng)用程序。


  要大致了解面向?qū)ο缶幊蹋◤腣isual Basic的角度)的主要概念,請(qǐng)參閱Object-Oriented Programming in Visual Basic。


  PHP ASP.NET編譯


  PHP


  請(qǐng)求PHP頁(yè)面時(shí),HTML和內(nèi)聯(lián)PHP腳本將編譯為Zend Opcode(Zend操作代碼)。Opcode是低級(jí)的二進(jìn)制指令,是提供PHP頁(yè)面時(shí)實(shí)際使用的代碼。編譯后,Zend引擎將運(yùn)行Opcode(與Java的運(yùn)行時(shí)引擎運(yùn)行字節(jié)碼類似),然后生成HTML并提供給客戶端。


  有許多商業(yè)產(chǎn)品可用來(lái)通過(guò)優(yōu)化這些Opcode來(lái)加快PHP頁(yè)面的執(zhí)行速度。其他提高PHP腳本性能的方法還包括對(duì)Opcode和生成的HTML進(jìn)行緩存。


  ASP.NET


  當(dāng)向IIS(Internet信息服務(wù))或其他Web服務(wù)器請(qǐng)求.aspx頁(yè)面(或ASP.NET支持的任何其他擴(kuò)展名)時(shí),該請(qǐng)求將被傳遞到ASP.NET進(jìn)行處理。如果是第一次請(qǐng)求該頁(yè)面,ASP.NET會(huì)將其編譯為MSIL(Microsoft中間語(yǔ)言)。然后,CLR(公共語(yǔ)言運(yùn)行庫(kù))會(huì)將此MSIL代碼轉(zhuǎn)換為機(jī)器碼。最后使用這個(gè)編譯后的代碼運(yùn)行該請(qǐng)求。后續(xù)的請(qǐng)求將使用相同的機(jī)器碼運(yùn)行(假設(shè)該頁(yè)面未被修改)。


  需要注意的是,因?yàn)橛蒀LR生成的二進(jìn)制代碼已經(jīng)最大限度地進(jìn)行了優(yōu)化,所以不必再使用其他產(chǎn)品來(lái)幫助提高性能。


  此外還要注意,ASP.NET中的所有內(nèi)容在運(yùn)行前都被編譯為機(jī)器碼。甚至HTML文本也被轉(zhuǎn)換為字符串常值控件,并按照適當(dāng)?shù)捻樞虿迦氲娇丶渲小?/P>

  PHP ASP.NET功能對(duì)比


PHP與ASP.NET的比較(圖一)


PHP與ASP.NET的比較(圖二) PHP與ASP.NET的比較(圖三) PHP與ASP.NET的比較(圖四)


  PHP ASP.NET之間的較量就向你介紹到這里,關(guān)于PHP ASP.NET之間的比較,可以在使用過(guò)程中對(duì)他們?cè)俅握J(rèn)識(shí)。


該文章在 2015/2/1 0:17:27 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
视频电影免费久久 | 亚洲国产日韩精品视频 | 婷婷开心色四房播播 | 伊人久久大线影院首页 | 日本一本香蕉大道高清视频 | 日韩国产中文一区二区在线 |