Ho una classe con un metodo validId($id) chiamato dal costruttore e da public function load($id) . Il metodo esegue una query sul database per verificare se l'ID esiste e restituisce true / false.
Il costruttore prende facoltativamente un $id (se nessun $ id, quindi l'oggetto sarà vuoto).
Il costruttore controlla l'ID $ con validId($id) , e se passa, chiama load($id) .
Non dovrei prendere validId() su load() perché load() è pubblico e l'input deve essere controllato!
Lo stesso vale per il costruttore.
Come faccio a evitare di chiamare validId() due volte? Stavo pensando di aggiungere un parametro a load($id,$check_id) , ma sarebbe ridicolo. Non puoi dare ai clienti l'opzione di non convalidare i dati!
Potrei aggiungere una proprietà protetta come $id_is_valid che viene impostata su true di validId($id) . Ma come faccio a sapere che il valore che è valido è lo stesso ricevuto dal mio metodo load() ?
Sto usando PHP.
Speriamo che questa non sia una domanda stupida.