avalanche-development/crash-pad
Composer 安装命令:
composer require avalanche-development/crash-pad
包简介
README 文档
README
Error handler that utilizes peel exceptions to standardize responses.
Installation
It's recommended that you use Composer to install crash-pad.
$ composer require avalanche-development/crash-pad
crash-pad requires PHP 5.6 or newer.
Usage
This handler works best with peel. It can work without, but without the HttpErrorInterface exceptions all of the responses are going to default as 500 Server Errors.
Depending on the framework you're using, this can be hooked up in a few different ways. In Slim you'd attach it to the Slim\Container. I'm going to be biased and show this in Talus.
$talus = new Talus([...]); $talus->setErrorHandler(new AvalancheDevelopment\CrashPad\ErrorHandler);
This will listen for exceptions that jump out of the call stack and return appropriate responses. For example, if you have some middleware like so...
function someMiddleware($request, $response, $next) { $body = (string) $request->getBody(); $body = json_decode($value); if (json_last_error() !== JSON_ERROR_NONE) { throw new AvalancheDevelopment\Peel\HttpError\BadRequest('Invalid JSON'); } // etc }
The error handler will detect the AvalancheDevelopment\Peel\HttpErrorInterface exception and return a response like so...
{
"statusCode": 400,
"error": "Bad Request",
"message": "Invalid JSON"
}
All responses will include these three fields, plus the appropriate headers. Any exceptions that do not implement the HttpErrorEnterface will respond the default 500.
Development
This library is in active development. Some of the error responses may include metadata moving forward.
Tests
To execute the test suite, you'll need phpunit (and to install package with dev dependencies).
$ phpunit
License
crash-pad is licensed under the MIT license. See License File for more information.
avalanche-development/crash-pad 适用场景与选型建议
avalanche-development/crash-pad 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 550 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 11 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 avalanche-development/crash-pad 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 avalanche-development/crash-pad 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 550
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-11-01