-XMLRPC for PHP\r
-\r
-Requirements\r
-------------\r
-\r
-The following requirements should be met prior to using 'XMLRPC for PHP': \r
-. PHP 5.0 or later; 5.0.3 or later recommended to have all functionality enabled\r
-. the php "curl" extension is needed if you wish to use SSL or HTTP 1.1 to\r
- communicate with remote servers\r
-\r
-The php "xmlrpc" native extension is not required, but if it is installed,\r
-there will be no interference with the operation of this library.\r
-\r
-\r
-Installation instructions\r
--------------------------\r
-\r
-Installation of the library is quite easy:\r
-\r
-1. copy the contents of the lib/ folder to any location required by your\r
- application (it can be inside the web server root or not).\r
-\r
-2. make sure your app can include those files. This can be achieved by setting\r
- the PHP include path, either in the php.ini file or directly in the php code\r
- of your application, using the 'set_include_path' function\r
-\r
-\r
-Example of php code allowing an application to import the library:\r
-\r
-set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/phpxmlrpc/lib/');\r
-require_once( 'xmlrpc.inc' );\r
-require_once( 'xmlrpcs.inc' );\r
-require_once( 'xmlrpc_wrappers.inc' );\r
-\r
-\r
-Please note that usage of the 'make' command for installation of the library is\r
-not recommended, as it will generally involve editing of the makefile for a\r
-succesfull run.\r
+XMLRPC for PHP
+
+Requirements
+------------
+
+The following requirements should be met prior to using 'XMLRPC for PHP':
+. PHP 5.3.0 or later
+. the php "curl" extension is needed if you wish to use SSL or HTTP 1.1 to
+ communicate with remote servers
+
+The php "xmlrpc" native extension is not required, but if it is installed,
+there will be no interference with the operation of this library.
+
+
+Installation instructions
+-------------------------
+
+Installation of the library is quite easy:
+
+1. Via Composer (highly recommended):
+
+ 1. Install composer if you don't have it already present on your system.
+ Depending on how you install, you may end up with a composer.phar file in your directory.
+ In that case, no worries! Just substitute 'php composer.phar' for 'composer' in the commands below.
+
+ 2. If you're creating a new project, create a new empty directory for it.
+
+ 3. Open a terminal and use Composer to grab the library.
+
+ $ composer require phpxmlrpc/phpxmlrpc:4.0
+
+ 4. Write your code.
+ Once Composer has downloaded the component(s), all you need to do is include the vendor/autoload.php file that
+ was generated by Composer. This file takes care of autoloading all of the libraries so that you can use them
+ immediately, including phpxmlrpc:
+
+ // File example: src/script.php
+
+ // update this to the path to the "vendor/" directory, relative to this file
+ require_once __DIR__.'/../vendor/autoload.php';
+
+ use PhpXmlRpc\Value;
+ use PhpXmlRpc\Request;
+ use PhpXmlRpc\Client;
+
+ $client = new Client('http://some/server');
+ $response = $client->send(new Request('method', array(new Value('parameter'))));
+
+ 5. IMPORTANT! Make sure that the vendor/phpxmlrpc directory is not directly accessible from the internet,
+ as leaving it open to access means that any visitor can trigger execution of php code such as
+ the built-in debugger.
+
+
+2. Via manual download and autoload configuration
+
+ 1. copy the contents of the src/ folder to any location required by your
+ application (it can be inside the web server root or not).
+
+ 2. configure your app autoloading mechanism so that all classes in the PhpXmlRpc namespace are loaded
+ from that location (any PSR-4 compliant autoloader can do that)
+
+ 3. Write your code.
+
+ // File example: script.php
+
+ require_once __DIR__.'my_autoloader.php';
+
+ use PhpXmlRpc\Value;
+ use PhpXmlRpc\Request;
+ use PhpXmlRpc\Client;
+
+ $client = new Client('http://some/server');
+ $response = $client->send(new Request('method', array(new Value('parameter'))));
+
+ 5. IMPORTANT! Make sure that the vendor/phpxmlrpc directory is not directly accessible from the internet,
+ as leaving it open to access means that any visitor can trigger execution of php code such as
+ the built-in debugger.
+
+
+Please note that usage of the 'make' command for installation of the library is
+not recommended, as it will generally involve editing of the makefile for a
+successful run.