# Requests
# Naming
To avoid naming collisions you should always suffix requests with Request.
Bad: Login or UpdatePost
Good: LoginRequest or UpdatePostRequest
# Use CRUD words
Request object used for CRUD actions should always be prefixed with CRUD name.
For example, StorePostRequest, UpdateUserRequest
# Use resource names
When request object is used for a resource name of the request object should always include resource's name.
Pattern should be like: {CRUD word}{Resource}Request.
For example, for storing Event resource with request object, name for request object should be: StoreEventRequest.
# Rules
Rules should always use array syntax.
public function rules(): array
{
return [
// Bad
'name' => 'required|string|max:255',
// Good
'name' => ['required', 'string', 'max:255'],
];
}
# Use snake_case for parameters
Request parameters usually correspond to database table columns.
To make them easily mappable with columns request parameters should always use snake_case.
Bad: firstName or additionalEmail
Good: first_name or additional_email
# Use input()
Avoid using magic properties to access request parameters from request object. Use input().
// Bad
$request->first_name;
// Good
$request->input('first_name');