Hallo!
Aber was ist mit einer Methode createNewAccount($name, $gender, $tel, $fax, ...)? Die ist ja auch statisch, weils noch kein Objekt gibt (es wird ja erst jetzt angelegt). Und wegen dieser Methode muss ich dann halt auch die validateValue() static haben.
Warum rufst Du die validateValue() nicht im Konstruktor auf? Wenn die fehlschlägt, kann der Konstruktor ja eine Exception werfen. Und selbst wenn Du Exceptions an sich nicht sonderlich magst und keine Exceptions zurückgeben willst, kannst Du ja immer noch sowas machen wie:
function createNewAccount (...) {
try {
$blub = new ... (...);
} catch (MeineExceptionKlasse $e) {
return false; // validierung fehlgeschlagen
}
}
(Oder, falls Du eh Exceptions weitergibst, lasse den try/catch-Block einfach weg.)
Viele Grüße,
Christian