kakaprodo/custom-data
A Laravel package that wraps function arguments together into a single CustomData class allowing separate processing and validation for each argument.
4,430
7
| Install | |
|---|---|
composer require kakaprodo/custom-data |
|
| Latest Version: | v2.3.53 |
| PHP: | >=8.0 |
| License: | MIT |
| Last Updated: | Aug 14, 2025 |
| Links: | GitHub · Packagist |
Maintainer: kakaprodo
Custom Data
Official Documentation
A Laravel package that wraps function arguments together into a single CustomData class allowing separate processing and validation for each argument.
class CreateUserData extends CustomData
{
protected function expectedProperties(): array
{
return [
'name' => $this->dataType()->string(),
'email' => $this->dataType()->string(),
'password' => $this->dataType()->string(),
'age?' => $this->dataType()->string(),
'sexe' => $this->dataType()->inArray(['M','F'])
];
}
}
And then call it this way:
CreateUserData::make([
'name' => 'kakaprodo',
'email' => 'example@gmail.com',
'password' => 'is_unique_pass',
'sexe' => 'M'
]);
And if you like to decouple your code with small classes called Action , then you are at the right place:
class CreateUserAction extends CustomActionBuilder
{
public function handle(CreateUserData $data)
{
return $data->onlyValidated();
}
}
And then we call our action this way:
CreateUserAction::process([
'name' => 'kakaprodo',
'email' => 'example@gmail.com',
'password' => 'is_unique_pass',
'sexe' => 'M'
]);
Features
- Combine several function arguments into one class called CustomData
- Validate each argument a little bit the way TypeScript does it in Javascript
- Support the definition of Laravel FormValidation rules
- Support Action classes in which CustomData can be injected
- Support The Ability to Queue Action class
- Support helper command to generate Action and CustomData classes
You can find here the Official Documentation
Related Packages
kakaprodo/system-analytic
A laravel package that simplifies the collection and visualization of your syste...
3,191
1
nilsenj/toastr-5.1-laravel
toastr.js for Laravel 5.1/5.2 easy notification like growl for example
34,076
6