哪个XML-RPC库?

5

至少有两种PHP的XML-RPC实现。哪一种最好,为什么?

  1. 我一直在使用基于O'Reilly jellyfish书中Edd Dumbill的工作的这个版本,但我发现它非常笨拙冗长,而且很难调试。
  2. 内置于PHP中的版本看起来更加简洁,但包含警告说该扩展是实验性的。

你最喜欢哪一个?还是其他的?


实验性警告主要意味着,如果您升级PHP版本,您可能需要更新您的代码(而不是向后兼容)。 - Amber
2个回答

2

XML-RPC主要是关于数据编组,因此本机PHP扩展和纯PHP实现之间的性能差异可以忽略不计。然而,PHP内置扩展仅涉及数据编码,因此您需要一个附加API来实际发送RPC调用。

可疑的eval漏洞也会影响UsefulIncs xmlrpc库。因此,无论今天它看起来如何,我都会避免使用它。最好使用本机PHP xmlrpc_*函数并忘记实验标签。

一个替代方案是Zend Framework的XmlRpc函数,这是纯PHP代码且非常冗长,但经过时间测试。个人曾有一个自定义的XML-RPC库,它还执行了Content-Encoding等操作,但今天我会使用ZendFrameworks、HordeFrameworks或PEARsXMLRPC2。(但我很高兴我们现在大多数情况下都可以使用JSON。)


1
内置版本(xmlrpc-epi)可使用。在旧版本的PHP中有一些有趣的bug,但是只要使用PHP 5.3.2或更高版本,应该可以正常工作。我写了一个非常简单的库,叫做Ripcord,它使用内置版本,但是解决了旧版本PHP中最烦人的bug。详情请参见http://ripcord.googlecode.com/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接