Cuándo usar la función `tap` en Laravel

Un caso de uso para explicar el uso de la función `tap` en Laravel

Cuándo usar la función `tap` en Laravel
Photo by Maxwell Nelson / Unsplash

La función tap no es muy conocida pero es muy útil para añadir limpieza a nuestro código en un caso muy específico. Pongamos el siguiente código:

public function update(User $user, UpdateUserProfileRequest $request)
{
	$user->update($request->validated());
    
	return $user;
}

Este es un caso de uso perfecto para usar tap(), ya que podemos usarlo cuando tenemos que llamar a una función sobre un objeto, y luego devolver ese mismo objeto. La función se podría quedar así:

public function update(User $user, UpdateUserProfileRequest $request)
{
	return tap($user)->update($request->validated());
}