[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