47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
=======
 | 
						|
RingPHP
 | 
						|
=======
 | 
						|
 | 
						|
Provides a simple API and specification that abstracts away the details of HTTP
 | 
						|
into a single PHP function. RingPHP be used to power HTTP clients and servers
 | 
						|
through a PHP function that accepts a request hash and returns a response hash
 | 
						|
that is fulfilled using a `promise <https://github.com/reactphp/promise>`_,
 | 
						|
allowing RingPHP to support both synchronous and asynchronous workflows.
 | 
						|
 | 
						|
By abstracting the implementation details of different HTTP clients and
 | 
						|
servers, RingPHP allows you to utilize pluggable HTTP clients and servers
 | 
						|
without tying your application to a specific implementation.
 | 
						|
 | 
						|
.. code-block:: php
 | 
						|
 | 
						|
    <?php
 | 
						|
    require 'vendor/autoload.php';
 | 
						|
 | 
						|
    use GuzzleHttp\Ring\Client\CurlHandler;
 | 
						|
 | 
						|
    $handler = new CurlHandler();
 | 
						|
    $response = $handler([
 | 
						|
        'http_method' => 'GET',
 | 
						|
        'uri'         => '/',
 | 
						|
        'headers'     => [
 | 
						|
            'host'  => ['www.google.com'],
 | 
						|
            'x-foo' => ['baz']
 | 
						|
        ]
 | 
						|
    ]);
 | 
						|
 | 
						|
    $response->then(function (array $response) {
 | 
						|
        echo $response['status'];
 | 
						|
    });
 | 
						|
 | 
						|
    $response->wait();
 | 
						|
 | 
						|
RingPHP is inspired by Clojure's `Ring <https://github.com/ring-clojure/ring>`_,
 | 
						|
which, in turn, was inspired by Python's WSGI and Ruby's Rack. RingPHP is
 | 
						|
utilized as the handler layer in `Guzzle <http://guzzlephp.org>`_ 5.0+ to send
 | 
						|
HTTP requests.
 | 
						|
 | 
						|
Documentation
 | 
						|
-------------
 | 
						|
 | 
						|
See http://ringphp.readthedocs.org/ for the full online documentation.
 |