Proposal for "XML_RPC2"

» Metadata » Status
» Description

XML_RPC2 is a PEAR implementation of the XML-RPC protocol. This is a rewrite, targeting PHP version 5. The original code was posted by Greg Beaver to the list a couple months ago.

Relative to the previous version, XML_RPC2 takes advantage of the following PHP5 features:

  • SimpleXML
  • __call catchall for automatic proxy creation
  • xmlrpc extension (optionally and detected at runtime)
  • Reflection API
The end result is a simpler usage of XML-RPC in PHP. Remote servers are exposed as proxy classes created at runtime:

$xmlrpc = new XML_RPC2_Client('');
$ret = $xmlrpc->test('PEAR_Server');
Servers are created by exposing a class containing the exported methods:

class Example 
    /** Answer with pong i
     * @return string
    public ping()
        return 'pong';
(XML_RPC2_Server::create(new Example())->handleCall();

Method introspection is done with a combination of the Reflection API and parsing of Docblocks of the exported methods.

» Dependencies » Links
» Timeline » Changelog
  • First Draft: 2004-11-05
  • Proposal: 2004-11-05
  • Call for Votes: 2005-05-10