My request have array of ~2000 items.
I want to use validation rules, but its super slow.
class MyItemsRequest extends FormRequest {
public function rules() {
return [
'items' => 'required|array',
'items.*.id' => 'required|integer',
'items.*.meta_data' => 'required|string',
'items.*.stuff' => 'sometimes|nullable|integer',
'items.*.more_stuff' => 'required',
];
}
}
Each line of 'items.*.xx' => 'xx' add's 3sec to request. So this request takes at least 12 sec just to check rules.
For testing purpose I tried multiple validation loops like this in controller just to check loop performance:
foreach ($request->get('items') as $item){
is_int($item['id']);
}
and writing even 5 loops does not decrease performance so bad like rules validation.
Why it's so slow? I'm using wrong?