class Empleado {
private $nombre;
private $dni;
private $sueldo;
function __construct($nombre, $dni, $sueldo = 1000) {
$this->setNombre($nombre) ;
$this->setDni($dni);
$this->setSueldo($sueldo);
}
function verEmpleado() {
return $this->getNombre() . " - " . $this->getDni() . " - " . $this->getSueldo();
}
function sueldoNeto() {
return $this->getSueldo() * 0.85;
}
private function validar_dni($dni) {
$letra = substr($dni, -1);
$numeros = substr($dni, 0, -1);
if (substr("TRWAGMYFPDXBNJZSQVHLCKE", $numeros % 23, 1) == $letra && strlen($letra) == 1 && strlen($numeros) == 8) {
return true;
} else {
return false;
}
}
function setSueldo($sueldo) {
if ($sueldo < 900) {
throw new Exception("El sueldo no puede ser menor que el interprofesional");
}
$this->sueldo = $sueldo;
}
function setNombre($nombre) {
if (empty($nombre)) {
throw new Exception("El nombre no puede estar vacío");
}
$this->nombre = $nombre;
}
function setDni($dni) {
if (!$this->validar_dni($dni)) {
throw new Exception("DNI no válido");
}
$this->dni = $dni;
}
function getSueldo() {
return $this->sueldo;
}
function getNombre() {
return $this->nombre;
}
function getDni() {
return $this->dni;
}
}
$pepe = new Empleado("José Pérez", "12345678Z");
$pepe->setSueldo(2000); //Esto nos permite acceder a la propiedad
echo $pepe->verEmpleado();