Tach!
warum nicht die Überprüfungs Code in Validatoren auslagern:
Was genau ist denn dein Problem, das du zu lösen versuchst?
function checkCustomerID ( int $id ) : bool { if ( Database::fetch ( $id ) === null ) { throw new Exception( 'can\'t fint Customer ID' ); } else { // der struktur IF-ELSE zu liebe return true; } // so on }
Es gibt jedenfalls kein Gesetz, dass if
immer ein else
benötigt. Der else-Zweig ist hier überflüssig, das return true
kann einfach so notiert werden. Wenn die Bedingung zutrifft, wird die Funktion über das throw verlassen und der nachfolgende Code nicht mehr ausführt. Deshalb ist es nicht notwendig, zwischen Code im false-Fall (else) und allgemein auszuführendem Code zu trennen. Im true-Fall wird weder das eine noch das andere ausgeführt, und im false-Fall sowie beides. Daran ändert auch nicht, dass es nur ein return-Statement und keinen allgemein auszuführenden Code gibt.
dedlfix.