omitobisam/laravel-habitue
Composer 安装命令:
composer require omitobisam/laravel-habitue
包简介
An Http client with the power of collections for your Jsonable requests
README 文档
README
About Habitue
The easiest and fluent HTTP Client for PHP.
Installation
Using composer:
composer require omitobisam/laravel-habitue
or add to the require object of composer.json file with the version number:
{
"require": {
"omitobisam/laravel-habitue": "^v3.0"
}
}
After this run composer update
Usage
You can call the helper function simply:
$response = habitue('http://ninja.example/users')->get(); $response = habitue('http://ninja.example/users', ['data' => 'aaa'])->post(); $response = habitue('http://ninja.example/users')->delete(); $response = habitue('http://ninja.example/users', ['data' => 'aaa'])->patch(); $response->get('data')
You can call it simply statically:
use Habitue\Habitue; Habitue::::make('http://ninja.example/api/users')->get(); // or ->post()
With Configuration:
use Habitue\Habitue; // or simply Habitue::::make('http://ninja.example/api/users') // An instance of Habitue ->setBody(['page' => 2]) //set body ->setHeaders(['x-key' => 'abcd']) // set header(s) ->get()
Handling Responses returned:
use Habitue\Habitue; /** * @var $response Habitue\Integration\Collector */ $response = habitue('http://ninja.example/users')->get(); $response->statusCode(); // int $response->headers(); // array $response->toJson(); // string // And others method available in Illuminate\Collection $clientResponse = $response->response(); // Habitue\Integration\ClientResponse $clientResponse->getData(); // string $clientResponse->getStatusCode(); // int $clientResponse->getHeaders(); // array
The Response (as Habitue\Integration\Collector) is a smart Collection that provides all the methods available in Laravel Collection and helps to draw out values deeply nested into the response. Say your response is the following:
{
"name":"John Doe",
"age":11,
"height":57,
"address": {
"postal": {
"code":"11111",
"region":"lc"
},
"city":"Tartu"
}
}
You can get the value code with the following
use Habitue\Habitue; /** * @var $collected \Habitue\Integration\Collector */ $collected = \habitue('https://ninja.example/users')->get(); $collected->get('name'); //John Doe $collected->getName(); // John Doe $collected->getAddress() // Collection with {"postal": {"code":"11111","region":"lc"}, "city":"Tartu"} ->getPostal() // Collection with {"code":"11111","region":"lc"} ->getCode(); //11111
API Available
Habitue class
Habitue::__construct(url: string, [data: array = [...]], [config: array = [...]]) Habitue::setHeaders(headers: array, [overwrite: bool = false]): HabitueInterface Habitue::setBody(body: array, [overwrite: bool = false]): HabitueInterface Habitue::get([key = null]): HabitueResponse.getReturn): Collector|mixed // Depends on the type of configuration at config: 'habitue.return' Habitue::post([key = null]): Collector|mixed // Depends on the type of configuration at config: 'habitue.return' Habitue::patch([key = null]): Collector|mixed // Depends on the type of configuration at config: 'habitue.return' Habitue::put([key = null]): Collector|mixed // Depends on the type of configuration at config: 'habitue.return' Habitue::delete([key = null]): Collector|mixed // Depends on the type of configuration at config: 'habitue.return' Habitue::getResponse(): ClientResponse Habitue::make(url: string, [data: array = [...]], [config: array = [...]]): HabitueInterface
ClientResponse Class
ClientResponse::__construct(data: string, statusCode: int, headers: array) ClientResponse::getData(): string ClientResponse::getStatusCode(): int ClientResponse::getHeaders(): array ClientResponse::__toString(): string
Contributions
- Make a PR
- Make sure the tests passes
- It gets it approved
- It gets merged
omitobisam/laravel-habitue 适用场景与选型建议
omitobisam/laravel-habitue 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 17 次下载、GitHub Stars 达 4, 最近一次更新时间为 2020 年 03 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「json」 「http」 「Guzzle」 「collection」 「harbitue」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 omitobisam/laravel-habitue 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 omitobisam/laravel-habitue 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 omitobisam/laravel-habitue 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
repository php library
Kinikit - PHP Application development framework MVC component
ext-json wrapper with sane defaults
A package to cast json fields, each sub-keys is castable
Cloudflare Middleware For Guzzle
swagger-php - Generate interactive documentation for your RESTful API using phpdoc annotations
统计信息
- 总下载量: 17
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-03-24
