PHP Classes

File: README.txt

Recommend this page to a friend!
  Classes of Ivan Ristic  >  XML-RPC Class Server  >  README.txt  >  Download  
File: README.txt
Role: ???
Content type: text/plain
Description: Read this first
Class: XML-RPC Class Server
Turns any PHP class into an XML-RPC server
Author: By
Last change:
Date: 19 years ago
Size: 3,239 bytes


Class file image Download
XCS v1.0 (XML-RPC Class Server for PHP)
Copyright (C) 2002 Ivan Ristic,

XCS homepage is at:

1. Description

This script ('xcs.php') will enable you to use
the power of XML-RPC by exposing the methods of any class
found in the same directory with the script.

You only need to place the script in the directory of
your choice, and to construct the URL properly. The purpose
of the URL is to address the object and supply the
constructor data. For example, the following URL


is equivalent to

  $object = new Test('42');

The URL is sufficient to instantiate the object, and now
you can continue to use XML-RPC as usual to invoke a
method on the object.

The name of the class is mandatory. There can be any
number of constructor parameters. Please note that XCS
uses the XML-RPC extension as described here

2. Private methods

PHP does not have private methods but, in a typical
class, you will want to prevent the outside world from
calling all methods. This is supported. If the name
of the method begins with an underscore, the method
will be considered to be private.

3. GET simulation

Testing XML-RPC software can be difficult because you
can't use the browser and the GET method. With XCS, you
can use the GET method and, in some simple cases, it
will simulate the POST payload for you.

Here is an example:


There is one special parameter, "_method" and it needs
to contain the name of the method. All other GET parameters
will be treated as parameters for the payload. The response
will be a standard XML-RPC response.

4. Examples


  class.test.php	// a class sitting on the server
  class.remotest.php	// local class, the proxy for the class test
  test.php		// example how to call remote objects
  xmlrpc-utils.php	// the utils class from the XML-RPC distribution
are usage examples. If you execute the script 'test.php' from
your browser, it will attempt to invoke the remote object over
HTTP. It will actually try to call the same server using the
environment variables SERVER_NAME and REQUEST_URI.


Some other things I want to do:

 * Move all error messages to the XML-RPC style
 * Automatic proxy class generation; This can work with other
   XML-RPC services but possibly not with this one as I
   didn't find a way to extract method parameters. The
   other solution is to standardise on javadoc style
   of documentation and then write the parser for that
 * Escape method names with GET simulation
 * Automatically lowercase method names
 * Create the ultimate XML-RPC proxy class; this is not
   possible yet, but it will be at some point in future
 * Improve error handling and logging
 * Improve security
 * See if the concept can be extended to cover SOAP too
For more information send a message to info at phpclasses dot org.