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.