kakaprodo / custom-data
一个Laravel包,将函数参数封装成一个单独的CustomData类,允许对每个参数进行单独的处理和验证。
2.3.3
2024-05-12 14:24 UTC
Requires
- php: >=7.0
- laravel/framework: >=7.0
This package is auto-updated.
Last update: 2024-09-12 15:13:43 UTC
README
官方文档
一个Laravel包,将函数参数封装成一个单独的CustomData类,允许对每个参数进行单独的处理和验证。
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']) ]; } }
然后可以这样调用它
CreateUserData::make([ 'name' => 'kakaprodo', 'email' => 'example@gmail.com', 'password' => 'is_unique_pass', 'sexe' => 'M' ]);
如果你喜欢将代码与名为Action的小类解耦,那么你就在正确的位置
class CreateUserAction extends CustomActionBuilder { public function handle(CreateUserData $data) { return $data->onlyValidated(); } }
然后我们这样调用我们的操作
CreateUserAction::process([ 'name' => 'kakaprodo', 'email' => 'example@gmail.com', 'password' => 'is_unique_pass', 'sexe' => 'M' ]);
特性
- 将多个函数参数合并成一个名为CustomData的类
- 以TypeScript在JavaScript中执行的方式对每个参数进行一点验证
- 支持定义Laravel FormValidation规则
- 支持注入CustomData的Action类
- 支持队列Action类的能力
- 支持生成Action和CustomData类的辅助命令
您可以在官方文档中找到更多内容