Attualmente sto scrivendo il codice e voglio assicurarmi che tutti i parametri che vengono passati a una funzione / metodo siano validi. Dato che sto scrivendo in PHP, non ho accesso a tutte le funzionalità di altri linguaggi come C, C ++ o Java per verificare i valori e i tipi di parametri
public function inscriptionExists($sectionId, $userId) // PHP
vs.
public boolean inscriptionExists(int sectionId, int userId) // Java
Quindi devo fare affidamento sulle eccezioni se voglio assicurarmi che i miei parametri siano entrambi interi.
Dato che ho molti punti in cui devo verificare la validità del parametro, quale sarebbe il modo migliore per creare una macchina di validazione / eccezione ed evitare la duplicazione del codice?
Stavo pensando a una fabbrica statica (dato che non voglio passarla a tutte le mie classi) con una firma del tipo:
public static function factory ($value, $valueType, $exceptionType = 'InvalidArgumentException');
Che chiamerebbe quindi il processo secondario giusto per convalidare in base al tipo.
Sono sulla buona strada, o sto andando completamente fuori strada e penso troppo al mio problema?