用PHP for Microsoft AJAX Library增強PHP編程

來源:互聯網
上載者:User

一、引言

眾所周知,ASP.NET AJAX架構由三個子架構組成:ASP.NET 2.0 AJAX Extensions,ASP.NET AJAX Control Toolkit以及ASP.NET Futures CTP。其中,前二者極大地依賴於ASP.NET 2.0伺服器端技術。實際上,這兩部分的主要設計目的正是在於擴充ASP.NET 2.0(及以後版本)程式的Ajax特徵。對比之下,ASP.NET Futures CTP(之前的代碼稱為“ASP.NET AJAX Futures CTP”)與ASP.NET伺服器端的耦合性非常小,但也主要是服務於ASP.NET程式的開發,只是由於這時的主要商務邏輯由伺服器轉移到了用戶端,從而能夠極大地改善用戶端使用者體驗並進而提高系統的整體效能。

但是,另一方面,我們也應該看到上述三個部分中都提供了大量現成的JavaScript源碼,其中大部分集中在ASP.NET 2.0 AJAX Extensions和ASP.NET Futures CTP。最重要的是,其中絕大部分的JavaScript代碼完全可以輕易地分離出來並進一步應用於其他類型的web開發平台上。這些JavaScript源碼庫主要包括MicrosoftAjax.js,MicrosoftAjaxTimer.js和MicrosoftAjaxWebForms.js,還有ASP.NET Futures CTP中的PreviewScript.js,PreviewGlitz.js和PreviewDragDrop.js等。通過進一步分析來看,我們可以輕易發現其實它們都是一些獨立的JavaScript代碼,僅僅是其相應的一個副本以嵌入式資源方式存在於程式集System.Web.Extensions.dll及Microsoft.Web.Preview.dll中罷了。也就是說,它們中的絕大部分是獨立於ASP.NET伺服器端的。因此,我們完全有可能把這些指令碼移植到其他伺服器端web開發平台上,例如JSP,PHP及Perl等。於是,在基於這些伺服器平台開發web應用的過程中,我們可以盡情地應用ASP.NET AJAX架構的用戶端技術,其中包括大量的ASP.NET AJAX指令碼特徵,甚至是更進階的ASP.NET AJAX用戶端架構編程技巧。

然而,我們也應該清醒地認識到,要成功實現ASP.NET AJAX架構功能,特別是ASP.NET AJAX伺服器控制項ScriptManager及UpdatePanel控制項等所具備的強大功能還有待於利用其他的非ASP.NET技術作深入的模仿性開發。

在本文中,我們主要想探討如何利用開源工程PHP for Microsoft AJAX Library把ASP.NET AJAX用戶端架構所提供的簡易的Web服務技術引入到PHP Web開發環境下。儘管目前的開源工程PHP for Microsoft AJAX Library還未真正成熟起來,但是我們可以早一步領略如何在PHP平台上引入Microsoft AJAX Library並為其增加流行的Ajax特徵。

二、開源工程PHP for Microsoft AJAX Library簡介

2007年1月,微軟的Steve Marx在網站Codeplex(http://www.codeplex.com/phpmsajax)上發布了一個開源工程。他試圖把微軟ASP.NET AJAX架構中的Microsoft AJAX Library引入到PHP開發領域。

下面,讓我們簡單地分析一下工程PHP for Microsoft AJAX Library的實現原理。

到目前為止,工程PHP for Microsoft AJAX Library中僅包含了兩個PHP檔案:MSAjaxProxyGenerator.php和MSAjaxService.php。其中,在檔案MSAjaxService.php中定義了一個PHP類MSAjaxService。我們可以由這個類進一步派生自己的定製類以便使用PHP編程類比實現Web服務並實現相應的Web方法定義。在另一個檔案MSAjaxProxyGenerator.php中定義了另一個PHP類MSAjaxProxyGenerator,通過這個類的generateClientProxy()方法並藉助於Microsoft AJAX Library便可以輕鬆實現產生Web服務的用戶端JavaScript代理。

在正式分析本文樣本之前,還是讓我們先來瞭解一下本實驗所需要的測試環境及有關安裝。

三、下載與安裝PHP for Microsoft AJAX Library

開啟瀏覽器並導航到網址http://www.codeplex.com/phpmsajax。此網址上提供了有關這個工程的所有相關資訊。注意到,目前這個工程的最新版本為3 Alpha。當點擊頁面中的超級連結“3 Alpha”,你會被導航到另一個頁面http://www.codeplex.com/phpmsajax/Release/ProjectReleases.aspx?ReleaseId=1692。圖1給出了此頁面中與下載工程相關的片斷快照。

圖1 下載開源工程PHP for Microsoft AJAX Library

從圖1可見,有兩個下載選項:檔案phpmsajax.zip或檔案phpmsajax-NoSource.zip。在此建議下載前者,因為其中還提供了兩個簡單的工程應用樣本。但是,請不必對這兩個樣本抱有過大的希望,因此它們都是入門級的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.