webservco/exception
Composer 安装命令:
composer require webservco/exception
包简介
A PHP component/library.
关键字:
README 文档
README
A PHP component/library.
Custom application exception handling.
Usage
Implement interfaces:
ExceptionHandlerFactoryInterface
interface ExceptionHandlerFactoryInterface { public function createExceptionHandler(LoggerInterface $logger): ExceptionHandlerInterface; }
ExceptionHandlerInterface
interface ExceptionHandlerInterface { public function handle(Throwable $throwable): void; }
UncaughtExceptionHandlerInterface
interface UncaughtExceptionHandlerInterface extends ExceptionHandlerInterface { }
Example implementation
Handle uncaught exceptions.
In application bootstrap:
// Exception handling. $exceptionHandlerFactory = new DefaultExceptionHandlerFactory(); // Uncaught exception handler. set_exception_handler([$exceptionHandlerFactory->createUncaughtExceptionHandler($logger), 'handle']);
Handle exceptions inside the application (caught exceptions)
In application logic:
$exceptionHandler = $exceptionHandlerFactory->createExceptionHandler($logger); // Example: an exception handling middleware. final class ExceptionHandlerMiddleware implements MiddlewareInterface { public function __construct( // Exception handler to use to handle the exception. private ExceptionHandlerInterface $exceptionHandler, // Request handler to use to return a response to the client private RequestHandlerInterface $requestHandler, ) { } public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { try { /** * Pass to the next handler. * If all is OK, nothing else to do. */ return $handler->handle($request); } catch (Throwable $throwable) { /** * An exception happened inside one of the next handlers. */ // Handle error (log, report, etc) $this->exceptionHandler->handle($throwable); /** * Return a response via the request handler. * Any exceptions that happen here will bubble up and be handled by the uncaught exception handler (if set). */ return $this->requestHandler->handle($request->withAttribute('throwable', $throwable)); } } }
webservco/exception 适用场景与选型建议
webservco/exception 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 412 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 07 月 02 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「component」 「webservco」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 webservco/exception 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 webservco/exception 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 webservco/exception 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
FSi DataSource Component
Custom, opinionated coding standards based on PSR12, SlevomatCodingStandard, and PHPCompatibility.
Priveate for SkeekS CMS
A PHP RESTful API Framework
A PHP component/library.
A PHP component/library.
统计信息
- 总下载量: 412
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 13
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-07-02