[Php-it] Funzione che deve ritornare molte cose
Domenico L.
domenico.lorusso at pleiade.it
Tue Feb 6 17:05:14 CET 2007
Gianluca Baù ha scritto:
>
> $id_utente = cerca_utente ($id_utente);
>
> if ( is_bool($id_utente) && (bool) $id_utente === false )
questa if è un po' pesante e forse più problematica che vantaggiosa:
if (false===$id_utente) #->c'è già il controllo del tipo
elseif ($id_utente === 0 ) #->contrlli anche il tipo
> Ha senso una programmazione a oggetti che fa uso di questa tecnica ?
Beh se la funzione è un metodo di un oggetto preferirei usare il try catch.
Discorso diverso è se deve esserci compatibilità con php 4.
Se invece la funzione è solo una funzione, trovo migliore la soluzione
del mixed, che è in linea con tutte le altre di php... certo magari php6
cambierà le cose :-)
Una riflessione che magari ti è utile.
Una funzione non deve generare errori se la sua chiamata sintattica è
corretta, cioè se passo i parametri in modo corretto ma la funzione
riscontra un problema nel db non trovo corretto che la funzioni generi
un errore, perché cmq la funzione è andata a buon fine, restituirà un
valore indefinito.
Se generi un eccezione e non utilizzi il costrutto try catch
l'esecuzione dovrebbe bloccarsi, cosa che concettualmente non trovo giusta
F: N->T
T=N + {false}
Cioè la funzione F è definita dai Naturali in T dove T è l'insieme dei
Naturali (N) unito al simbolo false. Non vedo nulla di improprio in
questa formulazione :-), anche se un po' atipico
Discorso diverso invece se stiamo parlando di oggetti e metodi, in quel
caso è consono che un metodo che non riesca generi un eccezione che
blocchi il processo (poi con try catch lo gestisci)
Spero di aver comunicato correttamente il mio pensiero.
--
Domenico L. icq: 645 44 861
per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]
More information about the Php-it
mailing list