class Libro {
private $titulo;
private $autor;
private $paginas;
function __construct($titulo) {
$this->titulo = $titulo;
}
function __get($name) {
if (!property_exists($this, $name)) {
throw new Exception("La propiedad $name no existe");
}
return $this->$name;
}
function __set($name, $value) {
if (!property_exists($this, $name)) {
throw new Exception("La propiedad $name no existe");
}
if (empty($value)) {
throw new Exception("El valor $name no puede estar vacío");
}
if ($name == "paginas" && ($value < 10 || $value > 1000)) {
throw new Exception("Páginas entre 10 y 1000");
}
$this->$name = $value;
}
}