找的一些 php Web Service 的资料

SOAP 及其它:

XML-RPC:

更多请看我的365Key

php 的 SOAP 实现主要有:

还有就是 php 自己的 SOAP 函数库。

在 SF 上搜索 nusoap 可以发现有不少的 php 项目都用了 nusoap ,大致看了一下,也感觉 nusoap 比较不错。以后可能就靠它了,不过它的文档不是特别多。

 

php COM ,Zend Studio 4

php 的 windows 版本有一个Windows 的 COM 支持函数库。 因为开发的平台要求要能在上面运行 COM 组件,而平台要求要在 Linux 下运行。因此我只能用一个折衷的办法,就是再加一个 Windows 服务器,实现对 COM 组件的调用,运行,然后提供一个 Web Services 接口,由 linux 服务器提供运行参数,及获取运行结果。

昨晚在写调用 COM 组件的代码的时候,在 Zend Studio 4 下运行得很好,而放到服务器上一运行,apache 就立马当掉。今天把 php 4 换成php 5,就运行得好好的。不知原因所在。

Zend 公司的 Zend Studio 4 上个月就发布了,前几天从 TLF 上下下来了,很不错,速度很快,不像3.5那么耗资源。其它的功能就不用说了,还是那么强。

AJAX

AJAX 是 Asynchronous JavaScript + XML 的缩写。

传统的Web下,用户提交HTTP请求之后,服务器经过对其一系列处理,会将用户重定向到一个新的页面,或刷新当前界面。

而使用AJAX的话,通过javascript,以及DOM技术,只需要改变页面中由于用户提交而需要改变的那部分。不用再因为用户的每次提交而重新创建一个新页面。因此通过AJAX技术,可以创建出更高级的无刷新的用户界面。

Ajax: A New Approach to Web Applications这篇文章有对AJAX原理的介绍。Nio’s Blog上有对这篇文章的描述。

但要要使用AJAX,要求客户端的浏览器支持Javascript和 XMLHttpRequest object。Javascript好像是没什么问题,不过XMLHttpRequest object现在好像只有IE,Firefox和Safari支持,如Opera就不支持。

目前已经一些网站使用了AJAX,如google的GMail,Groups,Suggest,Maps,Orkut,Flickr也有一些使用了AJAX,如修改图片标题,描述,增加tag等操作部分。

找到了两个使用PHP的AJAX项目:SAJAXJPSpan SAJAX目前的版本是0.5,JPSpan目前的版本是0.4.1Beta。

试用了一下SAJAX,它只有一个文件incl_sajax.php,使用非常容易。它的原理如下:

sajax creates a JavaScript stub function that calls functions you export from your PHP script. It handles all the connection details and calls a callback function of your design when the data is available.

在其网站上有一个用SAJAX做的加法运算的例子例子的源代码

几篇与AJAX相关的文章:

dotClear anti spam 的方法

dotClear最新的SVN版上有了两个新的特性。

一个是增加了一个anti spam的plugin,叫Captcha,在提交comment时,会有一个类似于How much makes three plus two ? (原来是法语,我翻译了)的简单数学四则运算问题。答对了才能发表回复。真是一个很可爱的方法,而且应该比较有效。

另一个是对后台登陆由使用cookie改为使用session。

ext/mysqli

ext/mysqli是PHP5和MySQL4.1起ext/mysql的替换器,i意思指的是:improved, interface, ingenious, incompatible or incomplete.

其主要有以下特点为:

  • Easier maintainability The ext/mysql code base has become somewhat complex and messy. Major enhancements in the functionality of MySQL required that various feature sets be enabled or disabled based on the version of the client library. Other issues required that some features be disabled for particular operating systems.
  • Better compatibility The extension needed to conform more closely to the MySQL client library, so that future enhancements to the library could be supported more easily in PHP
  • Backwards compatibility Although the compatibility between ext/mysql and ext/mysqli is not perfect, effort was made to simplify porting applications from ext/mysql to ext/mysqli.

其除了类似ext/mysql中的函数,如:mysqli_query,mysqli_fetch_assoc,mysqli_close等,还支持Prepared Statements。采用Prepared Statements,可以使查询更为安全,更高效。对于大量的查询语句来说,效率确实要高得多,但是如果只是一两句查询的话,就体现不出来了。

下面是一个Prepared Statements的例子(来自PHP手册):

  1. $query = “INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)”;
  2. $stmt = $mysqli->prepare($query);
  3. $stmt->bind_param(“sss”, $val1, $val2, $val3);
  4. $val1 = ‘Stuttgart’;
  5. $val2 = ‘DEU’;
  6. $val3 = ‘Baden-Wuerttemberg’;
  7. /* Execute the statement */
  8. $stmt->execute();
  9. $val1 = ‘Bordeaux’;
  10. $val2 = ‘FRA’;
  11. $val3 = ‘Aquitaine’;
  12. /* Execute the statement */
  13. $stmt->execute();
  14. /* close statement */
  15. $stmt->close();

另一个好的CMS:Xaraya

忘了从哪个网站上链到的Xaraya,才发现是一个CMS(中文网站

网站上对它的优点功能架构的介绍看起来很不错。

只可惜家里机器实在太破,不能试试。先记着备忘,回学校再看,呵呵。

另外发现blog访问量已经到一万多了,虽然很多是自己点了,而且google的pagerank从0升到了3。

Optimized Firefox & Thunderbird Builds

moox.ws修改了Mozilla的Firefox和Thunderbird,针对对不同的CPU做了优化,有三个系列,叫 “M” builds – M1, M2, and M3。

其主页上还有优化后的程序与Mozilla官方程序的很详细的对比文章,作者称速度的提高非常明显。发布的是Firefox和Thunderbird的各个版本及各种语言版本,可以根据自己的需要下载。

Continue reading Optimized Firefox & Thunderbird Builds

XOOPS 一个优秀的开源CMS

XOOPS是一个优秀的开源的CMS,其主页上有很详细的介绍All About XOOPS,开发社区很活跃,有各种版本,分支。

系统功能很强大,扩展,不过好像不是很灵活,界面是用Smarty写的,模板没有Mambo的好看,不过也可以找到很多好的。后台也比较乱,没有Mambo方便。不过作为一个开源的CMS已经很不错了,是非常强大的。

另外还有中文站点:XOOPS CHINA

上面有一篇对XOOPS,及Mambo和Durpal的评价,比较中肯。