codememory/screw
Composer 安装命令:
composer require codememory/screw
包简介
Component for sending Http RequestAuthor
README 文档
README
HTTP Screw - это интерфейс пакета Guzzle, который упрощает создание запросов используя ООП
Установка
composer require codememory/http-screw
Документация
Request Методы
-
baseUrl(): HttpRequestДобавить URL в клиент. И тогда вsetUrl()можно просто передать ссылку-
string $url (default: null)
-
-
setUrl(): HttpRequestДобавить URL на который будет сделан запрос-
string $url (default: null)
-
-
addPort(): HttpRequestДобавить ПОРТ к URL-
integer $port (default: null)
-
-
setMethod(): HttpRequestМетод запроса [ GET|POST|PUT|DELETE|UPDATE ]-
string $method (default: GET)
-
-
clientOptions(): HttpRequestСледующее указаные опции добавить в клиент. Которые будут по умолчанию-
boolean $status (default: false)
-
-
option(): HttpRequestДобавить опцию к запросу-
string $option (default: null)
-
callable $callback (default: None): $option
-
object $option (default: $option)
-
-
-
processResponseCode(): HttpRequestОбработать HTTP-код-
callable $callback (default: None)
-
Response $response (default: $response)
-
-
integer $code (default: 200)
-
-
refuser(): HttpRequestОбработать ошибку запроса. Это может быть ошибка connect и прочее-
callable $callback (default: None)
-
RequestException $e (default: $e)
-
-
-
addBody(): HttpRequestОтправить Body-
string $body (default: None)
-
-
addJson(): HttpRequestЗагрузка данных в кодировке JSON в качестве тела запроса. Заголовок Content-Typeapplication/jsonбудет добавлен, если в сообщении уже нет заголовка Content-Type.-
mixed $data (default: None)
-
-
saveBody(): HttpRequestДобавить Путь, где будет сохранен body ответ -
send(): HttpRequestМетод отправляет запрос на указанный URL -
response(): GuzzleResponseВозрощает Response пакета Guzzle
Опции и их компоненты
Redirect
> HttpRequest::O_REDIRECT
-
redirect()Разришение Перенаправлений-
boolean $performRedirects (default: false)
-
-
numberRedirects()Кол-во Перенаправлений-
integer $redirects (default: 5)
-
-
strictRedirect()Строгие Перенаправления-
boolean $strictly (default: false)
-
-
addRefererOnRedirect()Разрешить добавление заголовка referer при обноружении перенаправления-
boolean $allowDispatch (default: true)
-
-
redirectHandler()Обработчик при обнаружении перенаправления-
object|callable $allowDispatch (default: null)
-
-
allowProtocols()Добавить разрешенные протоколы-
string ...$args (default: [http, https])
-
Authorization
> HttpRequest::O_AUTH
-
username()Имя пользователя-
string|integer $username (default: null)
-
-
password()Пароль пользователя-
string|integer $password (default: null)
-
-
type()Тип аутификации [basic, digest, ntlm]-
string $type (default: null)
-
-
disable()Отключить аутификацию-
None (default: true(On))
-
-
enable()Включить аутификацию-
None (default: true(On))
-
Timeout(сек)
> HttpRequest::O_TIMEOUT
-
connectionTime()Время подключения к серверу-
integer|float $time (default: 0)
-
-
requestTime()Время запроса-
integer|float $time (default: 0)
-
-
readTime()Время использования при чтении потокового тела-
integer|float $time (default: default_socket_timeout of php.ini)
-
SSL Cert
> HttpRequest::O_SSL
-
certificate()Путь к файлу, содержащему сертификат в формате PEM-
string $pathCertificate (default: None)
-
string|null $password (default: null)
-
-
key()Путь к файлу, содержащему закрытый ключ SSL в формате PEM-
string $pathCertificate (default: None)
-
string|null $password (default: null)
-
-
verify()Включить проверку SSL или Установить путь к собственому сертификату на диске-
boolean|string $pathOrStatus (default: true)
-
Proxy
> HttpRequest::O_PROXY
-
setProxy()Добавить прокси с определенным протоколом-
string $proxy (default: null) - URL-адрес прокси
-
string|null $protocol (default: None) - Протокол прокси
-
-
username()Имя пользователя-
string $username (default: None) - Пример с именем пользователя [http://username:password@127.0.0.1:80]
-
-
password()Пароль пользователя-
string $password (default: None)
-
-
setUser()Объединение методовusername()иpassword()-
string $username (default: None)
-
string $password (default: None)
-
boolean $forAllAddresses (default: false) - Добавить ко всем следующим URL-адресам имя пользователя и пароль
-
-
preventProxy()Добавить имена хостов, которые не следует проксировать-
string ...$args (default: None)
-
Params
HttpRequest::O_PARAMS
-
form()Передать POST данные, если метод запроса POST-
array $data (default: None)
-
-
query()Передать GET данные, если метод запроса GET-
array $data (default: None)
-
-
withFiles(): ParamsOptionОтправить файлы. Не работает вместе с методомform()-
string $inputName (default: None)
-
mixed NOT null $contents (default: None) - Данные для использования в элементе формы.
-
?string $filename (default: Null)
-
?array $headers (default: [])
-
Headers
HttpRequest::O_HEADERS
decodeContent(): HeadersOptionУкажите, будут лиContent-Encodingответы (gzip, deflate и т. Д.) Автоматически декодироваться.-
string|boolean $decode (default: true)
-
header()Добавить заголовок-
string $name (default: None)
-
mixed $value (default: None)
-
onHeaders()Вызываемый объект, который вызывается, когда HTTP-заголовки ответа получены, но тело еще не начало загружаться.-
callable $callback (default: None)
-
Response $response (default: Response)
-
-
expect()Управляет поведением заголовка «Expect: 100-Continue».-
integer|boolean $rule (default: 1048576)
-
Http
HttpRequest::O_HTTP
setVersion()Установить версию протокола-
integer|float $version (default: 1.1)
-
stream()Установить потоковою передачу ответа, а не для загрузки сразу-
boolean $status (default: false)
-
idnConversion()Поддержка интернационализированных доменных имен (IDN) (включена по умолчанию, еслиintlрасширение доступно).-
integer|boolean $support (default: true or false)
-
httpExceptions()Выдача исключений по HTTP-code-
boolean $status (default: true)
-
ipVersion()Установить версию IP-
string $version (default: None)
-
stats()Позволяет получить доступ к статистике передачи запроса и доступ к деталям передачи нижнего уровня обработчика, связанного с вашим клиентом.-
callable $callback (default: None)
-
TransferStats $stats (default: TransferStats)
-
-
sync()Сообщить обработчикам HTTP, что вы собираетесь ожидать ответ. Это может быть полезно для оптимизации-
boolean $status (default: None)
-
Progress
HttpRequest::O_PROGRESS
progress()Определяет функцию, вызываемую при выполнении передачи.-
callable $callback (default: None)
-
integer $downloadTotal (default: 0) - общее количество байтов, ожидаемых к загрузке, ноль, если неизвестно
-
integer $downloadedBytes (default: 0) - количество байтов, загруженных на данный момент
-
integer $uploadTotal (default: 0) - общее количество байтов, которые должны быть загружены
-
integer $uploadedBytes (default: 0) - количество байтов, загруженных на данный момент
-
-
Response Методы
-
responseType()Преоброзовать ответ Body в ТИП:-
integer $type (default: String(4))
Response::RESPONSE_JSON
Response::RESPONSE_ARRAY
Response::RESPONSE_OBJECT
Response::RESPONSE_STRING
-
-
getBody()Получить Body ответа -
getHttpCode()Получить HTTP-код -
getResponseGuzzle(): GuzzleResponseВернуть обьект классаGuzzleResponse -
__call()Другие методы из обьектаGuzzleResponseПодробнее
Отправка запроса
use Codememory\Screw\HttpRequest; $httpRequest = new HttpRequest(); $response = $httpRequest ->setUrl('http://example.com/') // Url запроса ->setMethod('GET') // Метод запроса ->send();
Запрос с опциями
$httpRequest ->setUrl('http://example.com/') ->setMethod('GET') ->option(HttpRequest::O_REDIRECT, function(RedirectOption $redirect): RedirectOption { $redirect ->redirect(true); return $redirect; }) ->send();
Пример использования несколько опций и их компоненты:
$httpRequest ->setUrl('http://example.com/') ->setMethod('GET') ->option(HttpRequest::O_REDIRECT, function(RedirectOption $redirect): RedirectOption { $redirect ->redirect(true) ->allowProtocols('http'); return $redirect; }) ->option(HttpRequest::TIMEOUT, function(TimeoutOption $timeout): TimeoutOption { $timeout ->delay(4) ->requestTime(5); return $timeout; }) ->send();
codememory/screw 适用场景与选型建议
codememory/screw 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 63 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 03 月 09 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「curl」 「http」 「rest」 「http client」 「client」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 codememory/screw 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 codememory/screw 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 codememory/screw 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
cURL and cURL based Soap-Client for PHP
repository php library
Simple cURL wrapper
A fluent PHP CURL wrapper
http客户端
统计信息
- 总下载量: 63
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-03-09