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 аргумента

  1. URL адрес сервера

  2. Массив параметров запроса

  3. Опции запроса

Обратите внимание, что отправка запросов происходит статическим методом и возвращает объект 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?