欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

用PHP for Microsoft AJAX Library增强PHP编程

程序员文章站 2022-05-02 09:08:17
...

一、引言 众所周知,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(

一、引言

众所周知,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

[1] [2] [3] [4] [5]

用PHP for Microsoft AJAX Library增强PHP编程