walnut / lib_data
Installs: 10
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/walnut/lib_data
Requires
- php: >=8.2
Requires (Dev)
- phpunit/phpunit: >=9.5.20
- vimeo/psalm: >=4.23.0
This package is not auto-updated.
Last update: 2025-09-30 13:20:11 UTC
README
Attribute based data importer and validator
Examples
Book
final readonly class BookData { public function __construct( #[IntegerData(minimum: 1, maximum: 999999)] public int $numPages, #[StringData(minLength: 1, maxLength: 100)] public string $authorName, #[IntegerData(minimum: 1, maximum: 9999)] public int $issueYear, #[StringData(minLength: 1, maxLength: 100)] public string $publisherName, #[StringData(minLength: 1, maxLength: 30)] public string $language ) {} }
$bookData = [ 'numPages' => 10, 'authorName' => 'John Lock', 'issueYear' => 2003, 'publisherName' => "O'Really?", 'language' => 'English' ]; $bookObject = $importer->import($bookData, BookData::class); $importer->validate($bookObject); //ok