PHPackages                             fpoirotte/xrl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. fpoirotte/xrl

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

fpoirotte/xrl
=============

Simple XML-RPC Library (both client and server)

3.1.1(7y ago)5232BSD-3-ClausePHPPHP &gt;=5.6CI failing

Since Jan 19Pushed 5y ago1 watchersCompare

[ Source](https://github.com/fpoirotte/XRL)[ Packagist](https://packagist.org/packages/fpoirotte/xrl)[ Docs](https://github.com/fpoirotte/XRL)[ RSS](/packages/fpoirotte-xrl/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (8)Versions (7)Used By (0)

A simple XML-RPC client and server written in PHP
=================================================

[](#a-simple-xml-rpc-client-and-server-written-in-php)

[![unknown](https://camo.githubusercontent.com/5a089cd8f14a1dc456c0f5d0b2f2f6a168ee837b01ae8602c579e1cc0b792cd5/68747470733a2f2f6170692e7472617669732d63692e6f72672f66706f69726f7474652f58524c2e706e67)](http://travis-ci.org/fpoirotte/XRL) [![unknown](https://camo.githubusercontent.com/d573cf133a9593b62a0920b849742672abf8d7fca42685c0433f81da2c31506c/68747470733a2f2f72656164746865646f63732e6f72672f70726f6a656374732f78726c2f62616467652f3f76657273696f6e3d6c6174657374)](https://readthedocs.org/projects/xrl/?badge=latest)

Features
--------

[](#features)

XRL provides the following features:

- Simple servers, using either the property operator `->`or array accessors `[]` to provide methods.
- Simple clients, using the regular method call syntax `$client->procedure(42)` to call a procedure provided by the remote XML-RPC server.
- Intuitive XML-RPC calls, with automatic type conversion between PHP types and their XML-RPC counterparts.
- Optional validation of XML-RPC messages (both requests and responses).
- Two XML output formats (compact or indented), making it easy to debug potential issues.
- Many different types of installations are possible (sorted from easiest to most complex):
    - Using a PHAR archive
    - Using [composer](http://getcomposer.org/)
    - From sources
- A CLI script (for composer/source installs, but see below) that can be used to query a remote XML-RPC server, display traffic (for debugging purposes), etc.
- A `.phar` archive that contains all of XRL's source code and can also be used in place of the regular CLI script.
- Compatibility with PHP versions from PHP 5.3.4 onward.

Installation
------------

[](#installation)

Several types of installations are possible:

- Using a `.phar` archive:

    Download the PHAR archive for the latest release from
- Using composer:

    > ```
    > $ php composer.phar require fpoirotte/xrl
    > ```
- From sources (stable version)

    - As a git clone:

        ```
        $ git clone -b master git://github.com/fpoirotte/XRL.git
        ```
    - As a [.tar.gz archive](https://github.com/fpoirotte/XRL/tarball/master):

        ```
        $ wget --content-disposition https://github.com/fpoirotte/XRL/tarball/master
        ```
    - As a [.zip archive](https://github.com/fpoirotte/XRL/zipball/master):

        ```
        $ wget --content-disposition https://github.com/fpoirotte/XRL/zipball/master
        ```
- From sources (development version)

    - As a git clone:

        ```
        $ git clone -b develop git://github.com/fpoirotte/XRL.git
        ```
    - As a [.tar.gz archive](https://github.com/fpoirotte/XRL/tarball/develop):

        ```
        $ wget --content-disposition https://github.com/fpoirotte/XRL/tarball/develop
        ```
    - As a [.zip archive](https://github.com/fpoirotte/XRL/zipball/develop):

        ```
        $ wget --content-disposition https://github.com/fpoirotte/XRL/zipball/develop
        ```

Usage
-----

[](#usage)

Client: look at the code in [client.php](./docs/example/client.php).

Server: look at the code in [server.php](./docs/example/server.php).

Contributions
-------------

[](#contributions)

If you want to contribute to this project:

- [Fork it](https://github.com/fpoirotte/XRL/fork).
- Change the code.
- Send us a pull request.

Please read the section on copyright attribution and licensing below carefully before sending your pull request.

Copyright and license
---------------------

[](#copyright-and-license)

XRL is released under the 3-clause BSD License. An online copy of the license is available at .

We ask contributors to assign the copyright in their contributions to the collective name "XRL Team".

To make things easier, we also ask that you keep the same license in your contributions as the global one if possible (3-clause BSD License).

The copyright and licensing information should be reproduced at the top of every file. A template is given below for PHP files. For other types of files (RelaxNG schemae, reStructuredText pages, etc.), adapt the template to fit that file's particular syntax requirements.

Since we want to retain credit for contributors where it's due, feel free to add a Doxygen `\authors` command with your name and email in every class where you made significant changes.

Example template (taken from XRL's autoloader) for PHP files containing both copyright information, licensing information and contributor credits:

```
