<?php
class Gebruiker{
private $id;
private $gebruikersnaam;
private $wachtwoord;
private $email;
private $rechten;
function id(){
return $this->id;
}
function setId($id){
if(!empty($this->id)){
//fout
}
if(!ctype_digit($id)){
//fout
}
$this->id=$id;
}
function gebruikersnaam(){
return $this->gebruikersnaam;
}
function setGebruikersnaam($gebruikersnaam){
$this->gebruikersnaam=$gebruikersnaam;
}
function setWachtwoord($wachtwoord){
if(strlen($wachtwoord) < 6){
//fout
}
$this->wachtwoord=sha1($wachtwoord);
}
function email(){
return $this->email;
}
function setEmail($email){
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
//fout
}
$this->email=$email;
}
function rechten(){
return $this->rechten;
}
function setRechten($rechten){
if($rechten <=3 && $rechten >0){
$this->rechten=$rechten;
}else{
//fout
}
}
?>
Nu gaat het hem om de foutafhandeling (zie ook de stukjes //fout). Als ik hiervoor exceptions gebruik wordt gelijk het hele script gestopt.
Als ik bijv twee dingen wil wijzigen (bijvoorbeeld email en rechten) en ik voer bij beide een ongeldige waarde in, dan krijg ik eerst een melding dat het emailadres onjuist is, dan zorg ik dat het emailadres juist is, maar dan blijkt dat ik de rechten ook niet goed had ingevuld. Ik zou dus graag willen dat beide fouten in een keer woorden weergeven.
Iemand een idee hoe ik dit kan aanpakken?