What's Aura?
Aura is a plug-and-play object-oriented XML-RPC application framework written in PHP5. It bundles an XML-RPC client and a web-server-based XML-RPC server (but a standalone server prototype is in progress). It has a very simple and clean API for making XML-RPC calls. AuraClient objects abstract XML-RPC servers into native PHP5 objects (with a two-way PHP5-XML-RPC type engine) making XML-RPC integration completely transparent. It also allows exposing already written PHP functions and classes as web services for instant productivity. It bundles a web "shell" to experiment with the library interactively.
Download
You can download the latest version (0.1-alpha) from the project download page. Uncompress the release bundle to your web server and access shell.php
from a Web browser to start experimenting with it.
Please note that the library is still very much in alpha state and not to be used in production yet.
License
Aura is distributed under the GNU Lesser/Libray Public License. See the file COPYING in the release bundle for more details.
Usage
(This is a really quick guide to Aura just until the manual is finished)
To make an XML-RPC method call, all you have to is to create an AuraClient
object and... call the method! For example of we have an XML-RPC server at http://xmlrpc-api.example.com that supports a method named hello
and that it takes a single argument that it returns as is.
That's all! All conversions between PHP and XML-RPC types are handled internally according to the table shown below.
require_once 'path/to/aura/AuraClient.class.php';
$client = new AuraClient('http://xmlrpc-api.example.com');
$result = $client->hello('return me');
// $result is a string and contains 'return me'
XML-RPC Type | PHP Type/Class |
---|---|
int or i4 | int |
string | string |
double | double |
array | a numerically indexed array |
struct | an associative array |
nil | null |
dateTime.iso8601 | an AuraDateTime object |
base64 | an AuraBase64 object |
MethodPrefix
property of AuraClient
b) using auraInvoke*
methods of AuraClient
.
TODO: Write more!
Got a question, bug report, feature request, or anything else?
For questions on how to use Aura, use the Help forum. For bug reports and feature requets please use the Project Tracker. If you have any suggestions or comments on using and/or developing Aura, you can directly reach me at ahmeds [at] users.sourceforge.net.