日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

PHP 與 ASP.NET 正面交鋒

admin
2012年4月2日 19:41 本文熱度 3008
  如今當(dāng)提到 Web 開(kāi)發(fā)時(shí),您有許多選擇。這些方法中許多都涉及到預(yù)處理 — 即,利用特定的標(biāo)記將代碼嵌入到 HTML 頁(yè)面中,這些標(biāo)記告訴預(yù)處理器,它們包含代碼,并且應(yīng)對(duì)它們作出處理。與 CGI 非常相似,這些代碼在服務(wù)器上運(yùn)行,并返回一些內(nèi)容,這些內(nèi)容表現(xiàn)為發(fā)回給瀏覽器的結(jié)果 HTML 頁(yè)面的部分外觀。開(kāi)放源代碼腳本語(yǔ)言 PHP 和 Microsoft 的 ASP.NET 框架中的語(yǔ)言都屬于這種類型;JavaServer Pages (JSP) 和 Perl/Mason 也以這種方式運(yùn)行。

  在本文中,我將重點(diǎn)講述 PHP — Oracle 已選擇合并到其產(chǎn)品中的技術(shù) — 和 ASP.NET。我將概述兩者的各種優(yōu)勢(shì)和弱點(diǎn),并著重討論那些將幫助您決定開(kāi)發(fā)項(xiàng)目應(yīng)選擇哪種技術(shù)的因素。有很多因素需要考慮,不同的項(xiàng)目可能訴諸于不同的技術(shù)。總之,您將看到在價(jià)格、速度和效率、安全性、跨平臺(tái)支持等方面的逐項(xiàng)比較,以及開(kāi)放源代碼解決方案的優(yōu)勢(shì)。

什么是 ASP.NET?

  ASP 最新的版本 ASP.NET 并不完全與 ASP 早期的版本后向兼容,因?yàn)樵撥浖M(jìn)行了完全重寫(xiě)。早期的 ASP 技術(shù)實(shí)際上與 PHP 的共同之處比與 ASP.NET 的共同之處多得多,ASP.NET 是用于構(gòu)建 Web 應(yīng)用程序的一個(gè)完整的框架。這個(gè)模型的主要特性之一是選擇編程語(yǔ)言的靈活性。ASP.NET 可以使用腳本語(yǔ)言(如 VBScript、JScript、Perlscript 和 Python)以及編譯語(yǔ)言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp)。新框架使用通用語(yǔ)言運(yùn)行環(huán)境 (CLR);先將您語(yǔ)言的源代碼編譯成 Microsoft 中間語(yǔ)言代碼,然后 CLR 執(zhí)行這些代碼。

  這個(gè)框架還提供真正的面向?qū)ο缶幊?(OOP),并支持真正的繼承、多態(tài)和封裝。.NET 類庫(kù)根據(jù)特定的任務(wù)(例如,使用 XML 或圖像處理)組織成可繼承的類。

  除了編程語(yǔ)言和方法之外,數(shù)據(jù)庫(kù)訪問(wèn)也是要著重關(guān)心的一個(gè)因素。當(dāng)您用 ASP.NET 編程時(shí),可以用 ODBC 來(lái)集成數(shù)據(jù)庫(kù);ODBC 提供了一組一致的調(diào)用函數(shù)來(lái)訪問(wèn)您的目標(biāo)數(shù)據(jù)庫(kù)。

優(yōu)勢(shì)和弱點(diǎn)

  ASP.NET 的優(yōu)勢(shì)很明顯在于它簡(jiǎn)潔的設(shè)計(jì)和實(shí)施。這是面向?qū)ο蟮木幊倘藛T的夢(mèng)想:語(yǔ)言靈活,并支持復(fù)雜的面向?qū)ο筇匦浴T谶@種意義下,它真正能夠與編程人員現(xiàn)有的技能進(jìn)行互操作。

  ASP.NET 的另一個(gè)優(yōu)勢(shì)是其開(kāi)發(fā)環(huán)境。例如,開(kāi)發(fā)人員可以使用 WebMatrix(一個(gè)社區(qū)支持的工具)、Visual Studio .NET 或各種 Borland 工具(如 Delphi 和 C++ Builder)。例如,Visual Studio 允許設(shè)置斷點(diǎn)、跟蹤代碼段和查看調(diào)用堆棧。總而言之,它是一個(gè)復(fù)雜的調(diào)試環(huán)境。許多其他第三方的 ASP.NET IDE 解決方案也將必然出現(xiàn)。

  但您得到了強(qiáng)健性,就將以損失效率為代價(jià)。ASP.NET 在內(nèi)存使用和執(zhí)行時(shí)間方面耗費(fèi)非常大,這大部分歸因于較長(zhǎng)的代碼路徑。對(duì)基于 Web 的應(yīng)用程序,這些局限可能是一個(gè)嚴(yán)重的問(wèn)題,因?yàn)樵?Web 上,您的應(yīng)用程序可能擴(kuò)展為每秒成千上萬(wàn)的用戶。內(nèi)存使用率還可能成為 Web 服務(wù)器上的一個(gè)問(wèn)題。

什么是 PHP?

  PHP 是基于預(yù)處理 HTML 頁(yè)面模型的一種腳本語(yǔ)言。當(dāng) Web 服務(wù)器中的 PHP 預(yù)處理器發(fā)現(xiàn)像下面這樣的 PHP 語(yǔ)言標(biāo)記時(shí),將調(diào)用 PHP 引擎來(lái)執(zhí)行該代碼:

 

some code here
?>

 

  任何使用過(guò)命令式編程語(yǔ)言的編程人員都會(huì)對(duì) PHP 非常熟悉;您會(huì)發(fā)現(xiàn)它與 Perl、C 和 Java 在語(yǔ)法上的相似處。嚴(yán)格來(lái)講,Java 是一種命令式編程語(yǔ)言,但它也利用了面向?qū)ο蟮慕Y(jié)構(gòu)和概念。PHP 在適宜的時(shí)候借鑒了這種結(jié)構(gòu),但它不是一種純粹的 OOP 語(yǔ)言。

  在上面對(duì) ASP.NET 的討論中,我提到了 ODBC 驅(qū)動(dòng)程序,以及在考慮數(shù)據(jù)庫(kù)抽象的情況下如何構(gòu)建應(yīng)用程序。在 PHP 中,您也可以使用 ODBC 與數(shù)據(jù)庫(kù)對(duì)話,因此您已經(jīng)有了一系列支持的數(shù)據(jù)庫(kù)可供選擇。也有 MySQL、Oracle 和 Postgres 的原生驅(qū)動(dòng)程序。此外,如果要使用 Oracle,則有一個(gè)特殊的 OCI8 庫(kù)將提供對(duì) Oracle 更多訪問(wèn)功能,從而允許您使用諸如 LOB、BLOB、CLOB 和 BFILE 之類的特性。

  這時(shí)您可能會(huì)問(wèn)“為什么與數(shù)據(jù)庫(kù)相關(guān)的資料庫(kù)被稱為 PHP 的特性?”數(shù)據(jù)庫(kù)抽象或獨(dú)立性是您在設(shè)法構(gòu)建使用多種數(shù)據(jù)庫(kù)或需要在數(shù)據(jù)庫(kù)間移植(例如,從開(kāi)發(fā)到投產(chǎn)時(shí)的移植)的應(yīng)用程序時(shí)所要考慮的一個(gè)因素。而這些確實(shí)是應(yīng)該關(guān)心和考慮的。

  但正如 Tom Kyte 在他的新書(shū) — Effective Oracle by Design (Oracle 出版社) — 中指出的那樣,數(shù)據(jù)庫(kù)相關(guān)性將成為您真正的目標(biāo),因?yàn)檫@將使您在該技術(shù)中的投資最大化。如果您對(duì) Oracle 進(jìn)行一般的訪問(wèn) — 無(wú)論通過(guò) ODBC 或 Perl 的 DBI 庫(kù),那么您將無(wú)法使用其他數(shù)據(jù)庫(kù)所不具有的特性。此外,優(yōu)化查詢?cè)诟鱾€(gè)數(shù)據(jù)庫(kù)中各不相同。

  Zend Technologies 是一家商業(yè)軟件公司,它對(duì) PHP 作出了重大貢獻(xiàn)。它創(chuàng)建了一個(gè)稱為 Zend Studio 的商業(yè)開(kāi)發(fā)環(huán)境,這個(gè)環(huán)境包含了一個(gè)復(fù)雜的調(diào)試器、一個(gè)監(jiān)測(cè)器和其他特性。該公司還構(gòu)建了免費(fèi)的 Zend Optimizer,它與 Zend Encoder 結(jié)合使用來(lái)編譯 PHP 代碼,以提升性能。還有其他商業(yè)產(chǎn)品,如 Zend Performance Suite,它可以緩存預(yù)編譯的 PHP 頁(yè)面,從而進(jìn)一步顯著提升總體性能。

優(yōu)勢(shì)和弱點(diǎn)

  到測(cè)試版 4 為止,PHP 5 仍然有一些缺點(diǎn),包括缺少異常和基于事件的錯(cuò)誤處理例程 — 它們能夠中斷正常的程序流,并將代碼跳轉(zhuǎn)到一個(gè)特殊的錯(cuò)誤處理部分。Java 也提供了用于錯(cuò)誤處理的異常,而 C++ 通過(guò) try、catch 和 throw 語(yǔ)法提供異常處理。當(dāng)然,您仍然可以在 PHP 中管理錯(cuò)誤,但其結(jié)構(gòu)不是標(biāo)準(zhǔn)化的,因而使得編程人員必須使用自己的工具來(lái)決定執(zhí)行錯(cuò)誤處理的方式,這將導(dǎo)致更低的一致性并往往導(dǎo)致推倒重來(lái)。

  另一個(gè)弱點(diǎn)是 PHP 的函數(shù)名是不區(qū)分大小寫(xiě)的。雖然這不是一個(gè)嚴(yán)重的缺點(diǎn),但有些程序員可能會(huì)覺(jué)得這一特性很討厭。

  不過(guò),我的確對(duì) PHP 的對(duì)象模型心存疑慮。PHP 不是專門(mén)設(shè)計(jì)為一種面向?qū)ο蟮恼Z(yǔ)言。這些特性中的一部分是后來(lái)添加的 — 盡管注意了保持與 PHP 3 的后向兼容性,因此兩種模型的特性都留有一些。實(shí)際上,在 PHP 5 中這些弱點(diǎn)中的許多都得到了解決。請(qǐng)留心關(guān)注。

  PHP 在一些領(lǐng)域中缺少什么,它就會(huì)在擅長(zhǎng)的領(lǐng)域中迅速地彌補(bǔ)什么。價(jià)格合理,因此您不需要擔(dān)心許可問(wèn)題。它也是開(kāi)放源代碼的,因此整個(gè)社區(qū)將密切關(guān)注開(kāi)發(fā)過(guò)程:發(fā)現(xiàn)錯(cuò)誤并將其修復(fù)。如果有一個(gè)特性您不喜歡,那么您可以修改代碼。此外,PHP 可與 Apache 自然結(jié)合:它可以作為一個(gè)模塊編譯,或直接編譯成 Apache 二進(jìn)制文件。

  但在 Apache 上運(yùn)行意味著,利用 PHP,您能夠利用您已經(jīng)在任意服務(wù)器投資,這是因?yàn)?Apache 能夠運(yùn)行在 Windows、Linux、Solaris 和各種其他 Unix 平臺(tái)上。此外,使用擁有 Apache 的跟蹤記錄的 web 服務(wù)器意味著安全性能夠保持在最高的優(yōu)先級(jí)上。最后,PHP 擁有更小的代碼路徑,這意味著更少的分析和執(zhí)行 PHP 頁(yè)面服務(wù)器端代碼,這將帶來(lái)更高效的內(nèi)存和使用率以及更快的運(yùn)行。

在 PHP 5 中新增了哪些特性?

  PHP 5 的第 4 個(gè)測(cè)試版在 2003 年 12 月底推出,更改日志清楚地顯示已發(fā)現(xiàn)許多錯(cuò)誤并已將其消除。雖然它仍在進(jìn)行測(cè)試,但它的所有新特性和進(jìn)步都確實(shí)值得關(guān)注。

  PHP 5 的主要新成就在于它的異常處理和一個(gè)新對(duì)象,這個(gè)新對(duì)象引入的特性賦予了 PHP 真正的 OOP。異常處理無(wú)疑是 PHP 4 中最顯著的缺憾之一,而 PHP 5 對(duì)異常處理的引入無(wú)疑是一個(gè)成熟的標(biāo)志。異常處理意味著您在您的軟件中擁有了根據(jù)語(yǔ)言定義的和標(biāo)準(zhǔn)化的錯(cuò)誤處理方法。只需使用 try、catch 和 throw 方法,您的 PHP 代碼就變得更加強(qiáng)健和簡(jiǎn)潔。


class blue {

   function openFile ($inFile) {
       if (file_exists ($inFile)) {
           # code to open the file here
       } else {
           throw new Exception
           ("Cannot open file:$inFile");
       }
   }
}

$blueObj = new blue ();

try {
   $blueObj->openFile ('/home/shull/file.txt');

} catch (Exception $myException) {
   echo $myException->getMessage ();

   # rest of exception handling code here
}

# rest of blue methods here

?>

  新的對(duì)象模型為用 PHP 編寫(xiě)的程序帶來(lái)許多積極的影響。在 PHP 4 中,當(dāng)把將一個(gè)對(duì)象傳遞給函數(shù)或方法時(shí),是通過(guò)值來(lái)傳遞的 — 除非您另行顯式告知 PHP。這個(gè)過(guò)程意味著必須復(fù)制對(duì)象的一個(gè)副本(內(nèi)存中的所有數(shù)據(jù)結(jié)構(gòu))。這個(gè)步驟使用內(nèi)存,使得訪問(wèn)變慢和擁塞。而在 PHP 5 中,通常通過(guò)引用傳遞對(duì)象。

  PHP 5 中新的面向?qū)ο蟮奶匦裕ò?gòu)造器和析構(gòu)器)值得關(guān)注。與 C++ 和 Java 相同,它們提供了一種標(biāo)準(zhǔn)方法,即通過(guò)一個(gè)構(gòu)造器方法來(lái)創(chuàng)建對(duì)象、分配內(nèi)存和執(zhí)行任何必要的設(shè)置,并通過(guò)一個(gè)析構(gòu)器方法來(lái)執(zhí)行清理。

  PHP 5 還引入了對(duì)類中方法和變量的更精細(xì)控制。在 PHP 4,一切都是公有的:您可以從類外或在繼承類中訪問(wèn)您類中的變量。在 PHP 5 中,您仍然可以使變量或方法為公有,但您也可以使它們?yōu)樗接校允沟弥荒茉陬惐旧碇惺褂盟鼈儭_€可以將它們保護(hù)起來(lái),也就是說(shuō),可以在類內(nèi)或在子類中查看方法和變量。

  此外,PHP 5 引進(jìn)了類型提示或更好的類型檢查。當(dāng)您將一個(gè)對(duì)象傳遞給一個(gè)例程時(shí),PHP 能夠檢查它是否是正確的類型,并在檢查失敗時(shí)產(chǎn)生類型不匹配錯(cuò)誤。

  由于還有其他特性(如靜態(tài)方法和變量以及抽象類),因此請(qǐng)務(wù)必查看文檔,以獲取詳細(xì)信息。

安全性比較

  ASP.NET 官方要求您使用 IIS。不幸的是,IIS 易受攻擊的歷史由來(lái)已久,這使得許多管理員不愿意部署它來(lái)處理 Web 站點(diǎn)。這些弱點(diǎn)是因?yàn)?Microsoft 的缺陷或是因?yàn)?IIS 是黑客們攻擊的目標(biāo)無(wú)關(guān)緊要:這些系統(tǒng)有被黑或被攻擊的歷史。PHP 也運(yùn)行在 Apache 上,Apache 快速并且是開(kāi)放源代碼的,并擁有很好的安全性記錄。此外,正如我提到過(guò)的,Apache 可以在許多平臺(tái)上運(yùn)行。

  如果您在考慮 ASP.NET,但您想用 Apache 作為 Internet 門(mén)戶,那么很幸運(yùn)您可以有一些選擇。首先,您可以使用 Apache 將請(qǐng)求轉(zhuǎn)發(fā)給在另一臺(tái)計(jì)算機(jī)上內(nèi)部運(yùn)行的 IIS。然后 Apache 處理靜態(tài)內(nèi)容,并將 aspx 內(nèi)容傳送給 IIS 服務(wù)器(不暴露給 Internet)。

  不過(guò),如果您想利用 Apache 承載 ASP.NET,那么提供了一些選項(xiàng),這些選項(xiàng) Microsoft 可能支持也可能不支持。作為最后一種選擇,有 Ximian 的 Project Mono,它致力于構(gòu)建一個(gè)開(kāi)放源代碼模塊。請(qǐng)瀏覽 www.go-mono.com,以獲取更多信息。

數(shù)據(jù)庫(kù)編碼示例

  您在選用 PHP 或 ASP.NET 時(shí)首先要考慮因素之一就是與數(shù)據(jù)庫(kù)的連接。不過(guò),利用 ASP.NET 更復(fù)雜,因?yàn)槟梢詮脑S多備選語(yǔ)言中選擇任意一種語(yǔ)言。當(dāng)然,這些代碼示例將必須嵌入到 HTML 頁(yè)面、實(shí)例化的類等之中。不過(guò),以下信息將使您對(duì)二者的編碼風(fēng)格有所了解。

PHP 5 與 Oracle 連接

  下面是一個(gè) PHP 5 類,它提供了一個(gè) Oracle 連接和斷開(kāi)例程,用以演示利用 PHP 5(也可以使用其他驅(qū)動(dòng)程序(如 ODBC 驅(qū)動(dòng)程序)和通用的數(shù)據(jù)庫(kù)接口)與 Oracle 連接的一種方式:

class oracle_object {
   protected $theDB;
   protected $user;
   protected $pass;
   protected $db;

   function __construct($u, $p, $d) {
       $this->user = $u;
       $this->pass = $p;
       $this->db = $d;
   }

   function db_open () {
       $theDB  =  @OCILogon($this->user,  $this->pass,  $this->db);
       db_check_errors($php_errormsg);
   }

   function db_close() {
       @OCILogoff($theDB);
       db_check_errors($php_errormsg);
   }

   function __destruct () {
       print ("so long...");
   }

}

ASP.NET 與 Oracle 連接

  如果您希望利用 VB.NET(Visual Basic 是 Microsoft 的默認(rèn) .NET 編程語(yǔ)言)與 Oracle 連接,那么請(qǐng)看一下這個(gè)來(lái)自 MSDN 的示例:

Imports System
Imports System.Data
Imports System.Data.OracleClient
Imports Microsoft.VisualBasic

Class Sample

Public Shared Sub Main()

Dim oraConn As OracleConnection = New OracleConnection
("Data Source=MyOracleServer;Integrated Security=yes;")

Dim oraCMD As OracleCommand = New OracleCommand
("SELECT CUSTOMER_ID, NAME FROM DEMO.CUSTOMER", oraConn)

oraConn.Open()

Dim myReader As OracleDataReader = oraCMD.ExecuteReader()

Do While (myReader.Read())
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}",
myReader.GetInt32(0), myReader.GetString(1))
Loop

myReader.Close()
oraConn.Close()
End Sub
End Class

作出選擇

  假定您還沒(méi)有決定選用 PHP,我可以斷言 PHP 的優(yōu)勢(shì)遠(yuǎn)遠(yuǎn)超過(guò)它的弱點(diǎn)。(請(qǐng)參見(jiàn)表 1 中的概要。)這些優(yōu)勢(shì)歸結(jié)為價(jià)格、速度和效率、安全性、跨平臺(tái)適用性和開(kāi)放源代碼機(jī)遇。它惟一的弱點(diǎn)是缺少一種純粹和完美的 OOP 實(shí)現(xiàn),不過(guò),這是一個(gè)很小的缺點(diǎn)。雖然語(yǔ)言結(jié)構(gòu)的確有幫助,但好的編碼最終是由實(shí)踐、執(zhí)行、好的習(xí)慣和規(guī)范帶來(lái)的。

表 1

PHP 4  PHP 5  ASP.NET 
軟件價(jià)格 免費(fèi) 免費(fèi) 免費(fèi)
平臺(tái)價(jià)格 免費(fèi) 免費(fèi)  $$ 
速度 強(qiáng) 強(qiáng) 弱
效率 強(qiáng) 強(qiáng) 弱
安全性 強(qiáng)  強(qiáng) 強(qiáng) 
平臺(tái) 強(qiáng) 強(qiáng) 弱(僅用于 IIS)
平臺(tái) 任意 任意 win32(僅用于 IIS)
是否提供源代碼 是  是 否 
異常 否 是 是
OOP 弱 強(qiáng) 強(qiáng)


  價(jià)格。在此,我們不應(yīng)簡(jiǎn)單地考慮初始投資 — 對(duì) PHP 而言,這很明顯是免費(fèi)的 — 還應(yīng)考慮實(shí)施、維護(hù)和調(diào)試的成本。對(duì) PHP 而言,您可能需要購(gòu)買(mǎi) Zend 優(yōu)化引擎。然而,使用 ASP,您將從一開(kāi)始就進(jìn)行投資,而且您還要為附加的技術(shù) — 例如,執(zhí)行圖形處理的庫(kù) — 支付費(fèi)用。但從長(zhǎng)遠(yuǎn)來(lái)看,PHP 將不會(huì)逼迫您升級(jí)并向您收取更多的許可費(fèi)用。接觸過(guò)復(fù)雜許可的每一個(gè)人都知道,很多公司花費(fèi)大量的時(shí)間和金錢(qián)僅是為了確保其順應(yīng)性。此外,當(dāng)在獲得錯(cuò)誤修復(fù)的時(shí)間上,您得到的反應(yīng)也有所不同。這當(dāng)然將轉(zhuǎn)化成時(shí)間,時(shí)間又將轉(zhuǎn)化成總體開(kāi)發(fā)的成本。

  速度和效率。正如我先前提到的,ASP.NET 是一個(gè)允許您使用各種編程語(yǔ)言的框架。此外,它據(jù)稱擁有一個(gè)極好的面向?qū)ο竽P汀1M管所有這些都是真的,但在考慮到速度時(shí),它卻是不利的。基于以上原因,在 ASP.NET 中運(yùn)行 ASP 頁(yè)面與在 PHP 引擎中運(yùn)行等效的 PHP 頁(yè)面相比需要執(zhí)行更多代碼。PHP 是一種“快速粗糙”的解決方案,是為完成工作而設(shè)計(jì)的解決方案。雖然自 2.0 和 3.0 版本以來(lái)為其增強(qiáng)了許多強(qiáng)健性,但它仍然保留著核心的優(yōu)化的高速方法。

  速度不是惟一要考慮的因素。內(nèi)存使用率也很重要。

  安全性。ASP.NET 運(yùn)行在 IIS 上,而 IIS 已被攻擊了無(wú)數(shù)次 — 正如每隔一周的 IT 新聞報(bào)告所證實(shí)的。它已經(jīng)成為這樣一種負(fù)擔(dān),實(shí)際上,盡管其耗巨資進(jìn)行銷售宣傳,但許多 IT 專業(yè)人員仍然拒絕用 IIS Web 服務(wù)器來(lái)開(kāi)放他們的網(wǎng)絡(luò)。而 PHP 使用 Apache。Apache 擁有已被證明的速度、可靠性和穩(wěn)固的安全性的記錄。請(qǐng)瀏覽 www.securityfocus.com,以獲取更多信息。

  跨平臺(tái)適用性。ASP.NET 在 IIS 上運(yùn)行,并且開(kāi)始在 Apache 上運(yùn)行(Apache 能夠在許多平臺(tái)上運(yùn)行)。PHP 從一開(kāi)始就設(shè)計(jì)用于和 Apache 一起工作,因此您擁有許多可供選擇的已被證明和可靠的服務(wù)器平臺(tái)。

  開(kāi)放源代碼機(jī)遇。開(kāi)放源代碼并不只靠一些異想天開(kāi)的編程人員或想要節(jié)省一些許可費(fèi)用的公司來(lái)開(kāi)展。當(dāng)您處理軟件本身的錯(cuò)誤時(shí),開(kāi)放源代碼可能成為真正的天賜之物。

  在使用 PHP 或 ASP.NET 的情況下,您都會(huì)有一個(gè)大的用戶群,他們使用軟件并且可能遇到錯(cuò)誤。使用 ASP.NET,這些錯(cuò)誤必須通過(guò)一個(gè)官方程序來(lái)通知、修復(fù)、測(cè)試,并在一個(gè)新的補(bǔ)丁或版本中消除。然而,PHP 補(bǔ)丁可以快速地得到修補(bǔ)并發(fā)布。目睹開(kāi)放源代碼發(fā)展的任何人都知道,新的版本和補(bǔ)丁通常在幾天內(nèi)而不是像商業(yè)軟件一樣在幾個(gè)星期或幾個(gè)月內(nèi)推出。如果這不夠快,那么您通常可以自己來(lái)修補(bǔ)問(wèn)題(如果必要的話)。

關(guān)于作者

  Sean Hull 是 iHeavy Inc.公司的高級(jí)顧問(wèn),該公司位于紐約市。他專注于開(kāi)放源代碼技術(shù)與商業(yè)技術(shù)(如 Oracle)的集成,并已服務(wù)于多家成功的紐約公司。

該文章在 2012/4/2 19:41:56 編輯過(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è)而開(kāi)發(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

主站蜘蛛池模板: 国产精选污视 | 另类图片 | 在线亚洲一区二区 | 欧美国产剧情一区二区 | 国产乱码精品一品二品 | 国产在线观看青草视频 | 日本在线观看中文字幕无线观看 | 羞羞小视频在线观看 | 国产伦精品一区二区三 | 激情综合一区二区三区 | 国产在线精品成人一区二区三区 | 亚洲天堂偷拍日韩中文字 | 欧美日韩精品一区二区在线播放蜜 | 午夜高清 | 亚洲国产高清视 | 九九精品成人免费国产片 | 欧洲+亚洲+日本+国产 | 亚洲国产精品免费在线观看 | 影音先锋亚洲综合小说在线 | 日韩午夜在线 | 亚洲日韩欧美在线一区二区 | 日本一本免费一二区 | 海量热播电视剧手机电影在线观看 | 日韩国产免费 | 欧美囗交xx×bbb视频 | 国产户外一 | 久操免费在线 | 亚洲欧美精品日韩片 | 亚洲欧美另类偷窥自拍 | 亚洲日本欧美日韩精品 | 最新精品亚洲成a人在线观看 | 欧美性受xxxx黑人xyx | 中文字幕偷乱视频在线 | 欧美国产激情一区二区三区蜜月 | 中文字幕九热精品视频在线 | a级日韩乱理伦片 | 亚洲人成网7777777国产 | 欧美最猛黑人xxxx黑人猛交 | 日本亚洲精品 | 欧美大片在线观看免费视频 | 成+人+免费+黄+网站 |