phpsoftbox/request
Composer 安装命令:
composer require phpsoftbox/request
包简介
Request component for the PhpSoftBox framework
README 文档
README
About
phpsoftbox/request — тонкая оболочка над PSR‑7 запросом с удобными методами доступа к данным и встроенной валидацией через phpsoftbox/validator.
Ключевые возможности:
- единый доступ к query/body/cookies/files/attributes;
- валидация через
Request::validate(),RequestSchemaиApiSchema; - доступ к оригинальному PSR‑7 запросу через
psr().
Quick Start
use PhpSoftBox\Request\Request; use PhpSoftBox\Validator\Validator; $request = new Request($psrRequest, new Validator()); $data = $request->validate([ 'email' => [ new \PhpSoftBox\Validator\Rule\PresentValidation(), new \PhpSoftBox\Validator\Rule\FilledValidation(), (new \PhpSoftBox\Validator\Rule\StringValidation())->email(), ], ]);
RequestSchema
Если удобнее держать правила в классе:
use PhpSoftBox\Request\RequestSchema; use PhpSoftBox\Validator\Rule\FilledValidation; use PhpSoftBox\Validator\Rule\PresentValidation; use PhpSoftBox\Validator\Rule\StringValidation; final class LoginRequest extends RequestSchema { public function rules(): array { return [ 'login' => [new PresentValidation(), new FilledValidation(), new StringValidation()], 'password' => [new PresentValidation(), new FilledValidation(), new StringValidation()], ]; } }
Далее в контроллере:
$schema = new LoginRequest($request); $data = $schema->validate();
ApiSchema
Для валидации входящих payload без HTTP-request:
use PhpSoftBox\Request\ApiSchema; final class MarketplaceCardSchema extends ApiSchema { public function rules(): array { return [ 'id' => [new \PhpSoftBox\Validator\Rule\PresentValidation(), new \PhpSoftBox\Validator\Rule\IntValidation()], ]; } } $schema = new MarketplaceCardSchema($payload); $data = $schema->validate();
Оглавление
统计信息
- 总下载量: 73
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-06