Olá pessoas.
Segue code depois explico.
class Usuario
{
public $email;
private $senha;
public function alteraSenha($senha)
{
$this->senha = md5($senha);
}
}
class Cliente extends Usuario
{
public function __construct($email = null, $senha = null)
{
$this->email = $email;
$this->senha = ($senha);
}
}
$cliente = new Cliente("mail@mail.com","123456");
o retorno disso é: mail@mail.com / 123456. OK
Porém preciso tratar a senha e passar pela função alteraSenha e já tentei:
$cliente = new Cliente("mail@mail.com");
$cliente->alterSenha('12346');
Também assim dentro da classe Cliente:
public function setSenha($senha)
{
parent::alteraSenha($senha);
}
Dentro do __construct:
$this->senha = alteraSenha($senha);
E em todas as opções, o retorno da senha fica vazio, não dá erro mas volta vazio.
A única forma de funcionar é fazendo a declaração diferente:
$cliente = new Cliente();
$cliente->email = "mail@mail";
$cliente->setSenha('12356');
Dessa forma funciona, mas eu queria a declaração da outra forma para otimizar linhas.
O que estou fazendo errado.
Obrigado