1. Go to this page and download the library: Download aik27/drom-client 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/ */
aik27 / drom-client example snippets
use aik27\DromClient\Client;
use aik27\DromClient\Config;
use aik27\DromClient\Scenario;
use aik27\DromClient\Http\GuzzleClient;
use aik27\DromClient\Validators\JsonValidator;
try {
/*
* Конфигурирование клиента под условия тестового задания.
*/
$config = new Config([
/*
* Список целевых адресов.
* В данном случае, для сервиса комментариев.
*/
'urlGetAll' => 'http://example.com/comments',
'urlCreate' => 'http://example.com/comment',
'urlUpdate' => 'http://example.com/comment/{id}',
/*
* Внедрение зависимостей.
* Для HTTP клиента реализованы взаимозаменяемые адаптеры GuzzleClient() и SymfonyClient()
* Для валидации ответа сервера JsonValidator() и XmlValidator()
* Использование валидатора ответа не является обязательным.
*/
'httpClient' => new GuzzleClient(),
'validator' => new JsonValidator(),
/*
* Сценарии валидации данных на стороне клиента перед отправкой.
* Реализуются через экземпляры класса Scenario.
* Использование сценариев не является обязательным.
*
* Доступные типы параметров валидации:
*
* type - int|string - проверка типа значения [обязательный]
* ь путём отправки PUT запроса на urlUpdate.
* Принимает обязательный аргумент (object) $data.
* Конкретные поля должны быть свойствами объекта.
* Можно указать только нужные поля.
*/
$client->update((object)[
'id' => 42,
'text' => 'New text',
]);
} catch (\Exception $e) {
echo $e->getMessage();
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.