attributes-php / strictify-ext
Pydantic-inspired PHP library for validating data via type hints at lightning speed ⚡️
Package info
github.com/Attributes-PHP/strictify-ext
Language:C
pkg:composer/attributes-php/strictify-ext
dev-main
2026-11-10 17:39 UTC
Requires
- php: ^8.2
Requires (Dev)
- carthage-software/mago: ^1.50.0
- pestphp/pest: ^3.0
- phpbench/phpbench: ^1.7
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- dev-vibe/add-architecture-docs-a54fe0
- dev-vibe/add-contributing-docs-a54fe0
- dev-vibe/add-php-integration-tests-a54fe0
- dev-vibe/add-c-unit-tests-a54fe0
- dev-vibe/implement-core-validation-logic-a54fe0
- dev-vibe/fix-memory-leaks-validate-function-a54fe0
- dev-fix-segfault-double-free
- dev-vibe/fix-memory-double-free
- dev-vibe/feat-add-validation-rule-stubs
- dev-vibe/test-add-modelconfigs-tests
This package is auto-updated.
Last update: 2026-11-10 17:40:52 UTC
README
Strictify Extension is a Pydantic-inspired PHP library for validating data via type hints at lightning speed ⚡️
Prerequisites
- PHP 8.2 or later
We aim to support versions that haven't reached their end-of-life.
How it works?
<?php use function Attributes\Strictify\validate; use Attributes\Strictify\BaseModel; class User extends BaseModel { public float|int $age; public ?DateTime $birthday; } $rawData = [ 'age' => 30, 'birthday' => '1994-01-01T09:00:00+00:00', ]; $user = validate($rawData, new User()); var_dump($user->age); // int(30) var_dump($user->birthday); // object(DateTime) { ["date"] => string(26) "1994-01-01 09:00:00.000000", (...) }
Need to call a function?
<?php use function Attributes\Strictify\call; function myFunction(User $user) { var_dump($user->age); // int(30) var_dump($user->birthday); // object(DateTime) { ["date"] => string(26) "1994-01-01 09:00:00.000000", (...) } } call("myFunction", $rawData);
Installation
pie install attributes-php/strictify
Strictify Extension was created by André Gil and is open-sourced software licensed under the MIT license.
