Request
Компонент входящих и исходящих запросов
Package: alonity\request\Request
Дополнительный компонент обработчика запросов наследуемый от объекта alonity\router\RequestInheritance
Ручная установка
composer require alonity/request
Использование
Создание экземпляра класса
Для использования входящих запросов, требуется создать экземпляр класса alonity\request\Request.
$request = new Request();
Обработка входящих запросов
// Возвращает массив заголовков запроса
$headers = $request->getHeaders();
// Возвращает текущий URI
$uri = $request->getURI();
// Возвращает массив параметров запроса
$params = $request->getParams();
// Возвращает указанный параметр запроса или null в случае его отсутствия
$param = $request->getParam('myparam');
// Возвращает метод передачи данных
$method = $request->getMethod();
Отправка запросов
Если у вас есть необходимость отправлять запросы на внешний сервер, то данное руководство вам поможет в этом.
На данный момент поддерживаются 2 метода отправки запросов: get, post.
В качестве параметров могут приниматься 3 аргумента
URL адрес сервера
Массив параметров запроса
Опции запроса
Обратите внимание, что отправка запросов происходит статическим методом и возвращает объект alonity\request\Handler
// Отправить запрос методом GET и получить содержимое ответа сервера
$get = Request::get('https://google.com', ['param1' => 'test']);
$getResponse = $get->send();
// Отправить запрос методом POST и получить содержимое ответа сервера
$post = Request::post('https://google.com', ['param1' => 'test'], ['timeout' => 3]);
$postResponse = $post->send();
Отправка множественных запросов
Помимо одиночных запросов, которые дают ответ только после его выполнения, вы можете произвести несколько запросов к разным серверам с разными параметрами. Для этого используйте метод stack, принимающий массив объектов alonity\request\Handler
(В качестве $get и $post выступают переменные из предыдущего примера)
$stack = Request::stack([$get, $post]);
$stackResults = $stack->send();
Метод stack объекта Request возвращает объект alonity\request\Stack.
Метод send производит отправку запроса и возвращает массив объектов alonity\request\Handler
Метод getResponses() объекта Stack так же может вернуть результаты запросов.
Last updated
Was this helpful?