phpsoftbox / request
Request component for the PhpSoftBox framework
dev-master
2026-03-06 08:20 UTC
Requires
- php: ^8.4
- phpsoftbox/validator: dev-master
- psr/http-message: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.93
- phpsoftbox/cli-app: dev-master
- phpsoftbox/cs-fixer: ^1.1.0
- phpsoftbox/http-message: dev-master
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2026-03-06 08:20:25 UTC
README
About
phpsoftbox/request — тонкая оболочка над PSR‑7 запросом с удобными методами доступа к данным и встроенной валидацией через phpsoftbox/validator.
Ключевые возможности:
- единый доступ к query/body/cookies/files/attributes;
- валидация через
Request::validate()иRequestSchema; - доступ к оригинальному 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();