Seguindo esse raciocínio de métodos privados, seria legal isso para validar cpf do titular da conta também? Ou a validação seria uma função externa a parte para utilizar um RegEx por exemplo?
Seguindo esse raciocínio de métodos privados, seria legal isso para validar cpf do titular da conta também? Ou a validação seria uma função externa a parte para utilizar um RegEx por exemplo?
Olá, Felipe. Seria muito legal validar o CPF, mas um método validaCpf
não seria o melhor cenário.
O ideal mesmo seria você criar uma nova classe que representa o CPF, e nela você teria a validação.
Exemplo fictício:
<?php
class Cpf
{
private string $numeroCpf;
public function __construct(string $numeroCpf)
{
$this->defineCpf($numeroCpf);
}
private function defineCpf(string $numeroCpf): void
{
$cpfValidado = filter_var(
$numeroCpf,
FILTER_VALIDATE_REGEXP,
[
'options' => [
'regexp' => '/^\d{3}\.\d{3}\.\d{3}\-\d{2}$/'
]
]
);
if ($cpfValidado === false) {
echo "CPF inválido";
exit();
}
$this->numeroCpf = $cpfValidado;
}
public function recuperaNumeroCpf(): string
{
return $this->numeroCpf;
}
}
E aí, ao invés de receber uma string como $cpfTitular
, você receberia um objeto do tipo Cpf
, entendeu?
:-D
Repara que eu extraí o método privado defineCpf
para não deixar meu construtor com muito código. Essa é uma das principais funcionalidades de métodos privados: Extrair métodos auxiliares para tornar o código mais legível.
A muito obrigado, eu percebi que nas aulas seguintes você fez essa opção de criar uma classe. Entendi.