semhoun/slim-request-validation
Composer 安装命令:
composer require semhoun/slim-request-validation
包简介
A Slim middleware for HTTP request validation based on Respect/Validation
README 文档
README
A Request validation library for the Slim 4 Framework. It uses the respect/validation library.
This repository is a fork of https://github.com/benycode/slim-request-validation.
Table of contents
Install
Via Composer
$ composer require semhoun/slim-request-validation
Requires PHP 8.5+ and Slim 4.
Compatibility
- PHP:
^8.5 - Slim Framework:
^4.15 respect/validation:^3.1slim/psr7:^1.7 || ^2.0phpunit/phpunitfor development:^12.0 || ^13.0
Usage
Create a Rule class:
use BenyCode\Slim\Validation\Rule\RequestValidationRuleInterface; use Respect\Validation\ValidatorBuilder as v; final class AnyRuleClass implements RequestValidationRuleInterface { public function rules(): array { return [ 'name' => v::alpha(), 'url' => v::url(), ]; } public function messages(): array { return [ 'url' => 'url must be a URL', ]; } }
With respect/validation 3.x, validators are built with Respect\Validation\ValidatorBuilder instead of the older static Validator API.
Add the middleware to a route:
use BenyCode\Slim\Validation\RequestValidation; use BenyCode\Slim\Validation\Middleware\RequestValidationExceptionMiddleware; use BenyCode\Slim\Validation\Transformer\RequestValidatorTransformFactory; use BenyCode\Slim\Validation\Encoder\JsonEncoder; use Slim\Factory\AppFactory; $app = AppFactory::create(); $app->post('/api/any_end_point', function ($request, $response) { return $response; }) ->add(new RequestValidationExceptionMiddleware(new RequestValidatorTransformFactory(), new JsonEncoder())) ->add(new RequestValidation([ new AnyRuleClass(), ])); $app->run();
Keep your code clean and split rules across classes when needed:
use BenyCode\Slim\Validation\RequestValidation; use BenyCode\Slim\Validation\Middleware\RequestValidationExceptionMiddleware; use BenyCode\Slim\Validation\Transformer\RequestValidatorTransformFactory; use BenyCode\Slim\Validation\Encoder\JsonEncoder; use Slim\Factory\AppFactory; $app = AppFactory::create(); $app->post('/api/any_end_point', function ($request, $response) { return $response; }) ->add(new RequestValidationExceptionMiddleware(new RequestValidatorTransformFactory(), new JsonEncoder())) ->add(new RequestValidation([ new AnyRuleClass(), new AppendedRuleClass(), new AppendedRule2Class(), new AppendedRule3Class(), ])); $app->post('/api/any_end_point2', function ($request, $response) { return $response; }) ->add(new RequestValidationExceptionMiddleware(new RequestValidatorTransformFactory(), new JsonEncoder())) ->add(new RequestValidation([ new AnyRuleClass(), new AppendedRule3Class(), ])); $app->run();
Testing
composer test
semhoun/slim-request-validation 适用场景与选型建议
semhoun/slim-request-validation 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 23 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「validator」 「validation」 「middleware」 「request」 「slim」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 semhoun/slim-request-validation 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 semhoun/slim-request-validation 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 semhoun/slim-request-validation 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
Runn Me! Validation and Sanitization Library
Extension for Opis JSON Schema
Adds request-parameter validation to the SLIM 3.x PHP framework
A jQuery augmented PHP library for creating and validating HTML forms
A Laravel validator for delimiter-separated list of emails.
统计信息
- 总下载量: 23
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 39
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2026-04-10