Skip to content

Repository files navigation

Attributes Validation Extension

Attributes Validation 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 Attributes\Validation\validate;
use Attributes\Validation\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 Attributes\Validation\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/validation

Attributes Validation Extension was created by André Gil and is open-sourced software licensed under the MIT license.

About

⚡️Lightning-fast PHP validation via type hints

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages