1. Go to this page and download the library: Download chaplean/rest-client-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
chaplean / rest-client-bundle example snippets
new EightPoints\Bundle\GuzzleBundle\EightPointsGuzzleBundle(),
new Chaplean\Bundle\RestClientBundle\ChapleanRestClientBundle(),
// If you want to enable Database logging
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
// If you want to enable Email logging
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle()
use Chaplean\Bundle\RestClientBundle\Api\AbstractApi;
use Chaplean\Bundle\RestClientBundle\Api\Parameter;
use GuzzleHttp\ClientInterface;
class FakeApi extends AbstractApi
{
protected $url;
/**
* AbstractApi */
public function buildApi()
{
$this->globalParameters()
->urlPrefix($this->url) // here we set base url
->expectsJson();
$this->get('fake_get', 'fake')
->urlParameters([
'id' => Parameter::id(),
]);
}
}
public function buildApi()
{
/*
* You have to call this function first to set basic config
*/
$this->globalParameters()
->urlPrefix('http://some.url/') // set the base url of our api
/*
* We can then set some configurations that will be the default for every route we create later.
* You have the exact same api available here and available when configuring routes.
* See route definition for detailed descriptions of headers(), urlParameters(), queryParameters() and requestParameters()
*/
->expectsPlain() // Declare we expect responses to be plain text
->expectsJson() // Declare we expect responses to be json
->expectsXml() // Declare we expect responses to be xml
->sendFormUrlEncoded() // Configure that we post our data as classic form url encoded (only apply to post, put and patch requests)
->sendJson() // Configure that we post our data as json (only apply to post, put and patch requests)
->sendXml() // Configure that we post our data as xml (only apply to post, put and patch requests)
->sendJSONString() // Configure that we post our data as a url-encoded key-value pair where the key is JSONString and the value is the request data in json format (only apply to post, put and patch requests)
->headers([]) // Configure what headers we send
->urlParameters([]) // Configure what url placeholders we define
->queryParameters([]) // Configure what query strings we send
->requestParameters([]); // Configure what post data we send (only apply to post, put and patch requests)
/*
* Here we define the core of our api, the routes. We can use get(), post(), put(), patch(), delete() functions
* with a route name and a route url (with placeholders in you want) to define routes.
*/
$this->get('query_one', 'data/{id}');
$this->post('create_one', 'data');
$this->patch('update_one', 'data/{id}');
$this->put('update_one', 'data/{id}');
$this->delete('delete_one', 'data/{id}');
/*
* Those function return the route object to further configure it.
* As said previously the route api is the same as the one we get with globalParameters().
*/
$this->post('create_one', 'data/{id}')
->expectsPlain() // Declare we expect responses to be plain text
->expectsJson() // Declare we expect responses to be json
->expectsXml() // Declare we expect responses to be xml
->sendFormUrlEncoded() // Configure that we post our data as classic form url encoded (only apply to post, put and patch requests)
->sendJson() // Configure that we post our data as json (only apply to post, put and patch requests)
->sendXml() // Configure that we post our data as xml (only apply to post, put and patch requests)
->sendJSONString() // Configure that we post our data as a url-encoded key-value pair where the key is JSONString and the value is the request data in json format (only apply to post, put and patch requests)
->headers([]) // Configure what headers we send
->urlParameters([]) // Configure what url placeholders we define
->queryParameters([]) // Configure what query strings we send
->requestParameters([]); // Configure what post data we send (only apply to post, put and patch requests)
/*
* Finally calling headers(), urlParameters(), queryParameters() or requestParameters() without configuring parameters is sort of useless.
* So let's see how to define parameters.
*/
$this->put('update_data', 'data/{id}')
->urlParameters( // Define the placeholder parameter for the {id} in the url
[
'id' => Parameter::id(),
]
)
/**
* We define a list of key => values pairs where key is the name of the parameter and the value is a parameter type.
* We can also configure the parameters type. They all support at least optional(), defaultValue().
*/
->requestParameters(
[
'name' => Parameter::string(),
'birthday' => Parameter::dateTime('Y-m-d'),
'is_human' => Parameter::bool()->defaultValue(true),
'height' => Parameter::int(),
'weight' => Parameter::float()->optional(),
'tags' => Parameter::object(
[
'id' => Parameter::id(),
'name' => Parameter::string(),
]
),
'friends' => Parameter::arrayList(Parameter::id()),
]
);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.