我希望构造函数验证$contraseña和$rcontraseña以查看它们是否匹配。 如果这样做:散列密码。 如果不符合,请执行以下操作:创建一个错误数组,其中$ errors [password]包含一个字符串,内容为“ Passwords not match”。
以下代码的问题是:
var_dump($ errores);没有显示字符串,可能是因为我尝试填充字符串的方式是错误的。数组在类之外,我还尝试将其设置为公共,私有和受保护的属性,但是这些都不起作用。
<?php
// Array de errores. Si todo está null es porque no hubo errores.
$errores = [
"nombre" => "","apellido" => "","usuario" => "","contraseña" => "",];
class Usuario {
/* atributos */
protected $nombre;
protected $apellido;
protected $usuario;
protected $contraseña;
/* Métodos. */
/* Constructor que setea datos,los verifica y hashea contraseña. */
public function __construct($nombre,$apellido,$usuario,$contraseña,$rcontraseña){
$this->nombre = $nombre;
$this->apellido = $apellido;
$this->usuario = $usuario;
if ($rcontraseña == $contraseña) {
$this->contraseña = password_hash($contraseña,PASSWORD_DEFAULT);
}
else {
$errores['contraseña'] = "Las contraseñas no coinciden.";
}
// Verificamos que nombre no esté vacío.
}
}
$emiliano = new Usuario("Emiliano","Vargas","emicapo","emi123","eemi123");
var_dump($errores);