Download the PHP package mmaurice/qurl without Composer
On this page you can find all versions of the php package mmaurice/qurl. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mmaurice/qurl
More information about mmaurice/qurl
Files in mmaurice/qurl
Informations about the package qurl
Simple QueryURL library (based on cURL)
Класс библиотеки QueryURL представляет собой простой интерфейс для работы с cURL-библиотекой.
Установка
Установка производится через Composer:
Примеры кода
Создание объекта
Для создания объекта нет нужды передавать какие-либо параметры в конструктор. Тогда будет создан базовый клиент.
Задание параметров cURL
При создании клиента можно передавать в конструктор параметры cURL:
Так же параметры можно задавать методом setOption
. В таком случае, первым аргументом будет выступать константа параметра cURL, а вторым аргументом - его значение:
В случае необходимости задания массива параметров, можно воспользоваться методом setOptions
, который принимает массив значений, состоящий из констант параметров cURL в качестве ключей, и значений параметров в качестве значений массива:
Более подробно о параметрах cURL можно ознакомиться в соответствующем разделе документации.
Создание объекта запроса
Для начала конфигурирования запроса, необходимо воспользоваться методом request
, который имеет набор методов для настройки запроса:
Задание заголовков
Заголовки можно задать при помощи метода setHeader
. В таком случае, первым аргументом будет выступать имя заголовка, а вторым аргументом - его значение:
В случае необходимости задания массива заголовков, можно воспользоваться методом setHeaders
, который принимает массив значений, состоящий из имён заголовков в качестве ключей, и значений заголовков в качестве значений массива:
Задание тела запроса
Тело запроса можно задать при помощи метода setBodyFields
. В качестве аргументов, метод принимает ассоциативный массив значений, которые далее будут сформированы в тело запроса. Например:
В случае необходимости дополнить существующий массив параметров, можно воспользоваться методом setBodyField
. В таком случае, первым аргументом будет выступать ключ параметра, а вторым аргументом - его значение:
Хочется дополнительно отметить, что эта операция дополнит существующий набор параметров переданными.
Кроме этого, можно указать, как именно необходимо закодировать тело запроса, а именно - json, url-encoded строка и массив:
Прочие параметры запроса
Объект Request поддерживает настройку некоторых ключевых параметров запроса, а именно:
Прочие параметры cURL можно задачть в настройках клиента.
Отправка запроса
Для отправки обыкновенного GET-запроса, необходимо воспользоваться методом get
, первым аргументом которого будет URL, на который отправляется запрос, вторым аргументом можно так же передавать тело запроса в виде массива параметров, а третьим аргументом можно передать массив заголовков. Тело запроса и заголовки можно не передавать, если они уже были переданы отдельными методами, или если запрос не подразумевает их передачу. В качестве результата запроса будет создан объект Response:
Запрос будет иметь следующий вид:
Важно отметить, что $url
можно задать и в виде массива, первым аргументом которого будет путь, а вторым аргументом - массив GET-параметров:
Помимо этого, существует возможность отправить запросы методом post
, put
, head
, delete
, connect
, options
, path
, trace
, search
. Пример соответствующих методов выглядят следующим образом:
Набор аргументов для этих методов идентичен набору аргументов для метода get
- в качестве первого аргумента передаётся URL запроса, а в качестве второго аргумента - массив полей тела запроса, а третьего аргумента - массив заголовков.
Все выше описанные методы являюся обёртками для основного метода запроса query
. Можно воспользоваться им напрямую, для создания любого типа запроса. Например:
В качестве первого аргумента передаётся значение типа запроса. Все типы запросов перечислены в виде констант класса \mmaurice\qurl\Request
, а именно:
\mmaurice\qurl\Request::GET
\mmaurice\qurl\Request::POST
\mmaurice\qurl\Request::PUT
\mmaurice\qurl\Request::HEAD
\mmaurice\qurl\Request::DELETE
\mmaurice\qurl\Request::CONNECT
\mmaurice\qurl\Request::OPTIONS
\mmaurice\qurl\Request::PATH
\mmaurice\qurl\Request::TRACE
\mmaurice\qurl\Request::SEARCH
Получение результата
Одним из преимуществ данной библиотеки является возможность простым образом получить данные о сформированном запросе и полученном ответе. Можно получить следующие данные:
Более наглядные примеры работы с библиотекой находятся в каталоге /examples
проекта.