Newsgroup: it.comp.www.php
Titolo: Qual'è l'equivalente in php della funzione GOTO ?

Come da oggetto, grazie in anticipo.
Ciao


non conosco benissimo PHP ma anche se esistesse la eviterei come la peste
;-)

esprimo solidarieta'!
l'ho cercata anch'io per parecchio tempo... e non ho trovato niente, un
mio amico per emulare il GOTO  utilizava le chiamate a funzioni in una
maniera un po' strana... ma non ho voluto approfondire, perche' cosi'
facendo incasinava il codice all'inverosimile!!! Bho? 
Alla fine ho scelto di stravolgere il programma... ma sarebbe bastato un
semplice GOTO :(( ...
ciao,
Mauro



non so come sia il tuo codice, a volte aiuta un 'continue' oppure un 'break'
che sono simili al GOTO...
In ogni caso si puo' evitarlo usando meglio funzioni...

no.... il mio codice era una cosa molto schifosa, cicli while lunghi
pagine, con variabili usate dappertutto... dovevo uscire da un ciclo for
annidato in almeno altri 5 cicli for e dovevo rientrarci in alcune
condizioni particolari... potevo usare funzioni ma le variabili erano
veramente tante... avrei dovuto anche usare passaggi di parametri "by
reference"...
un GOTO, sebbene non indispensabile (infatti il problema l'ho risolto) a
volte aiuta mooolto...
grazie!!!
ciao,
Mauro


volte aiuta mooolto...
Non ti aiuta affatto!
Ti consente solo di continuare a scrivere codice orribile :-)
Magari a mettere il GOTO perdi 5 secondi e a riscrivere tutto perdi tre
giorni.
Ma somma a quei cinque secondi l'INFERNO che e' debuggare codice dove i
flussi si incrociano tipo Ghostbusters, inferno che si ripete anche per
ogni modifica per quanto minima...
Leonardo
-- 
Nior thainig ar major i dtus an lae chugainn,
is ni rabhamar fein ann i gcoir na gceart
ach mar sheolfai aoireacht bo gan aoire,
ar thaobh na greine de Sliabh na mBan.

 volte aiuta mooolto...
Non penso che ti aiutera' veramente.
Con il GOTO non impari a ragionare 'senza GOTO'.
Certo, fai prima, ma cosi' hai soltanto curato un sintomo.
L'organizzazione del codice in maniera chiara,
in blocchi logici e distinti dovrebbe essere la prima fase.
Il livello d'astrazione richiesto e certamente maggiore,
ma alla fine vinci tu e quelli che leggono il tuo codice...
J.



ok ok, avete ragione, il GOTO non e' il massimo dello stile di
programmazione, ma non e' il caso di denigrarlo comlppetamente.
probabilmente in un linguaggio come php non serve, ma in generale puo'
tornare utile, specie se si cercano buone performance.
mi spiego:
1) un goto o due in un codice non ne impedisce la comprensione, anzi a
volta la migliora... piuttosto che fare giri e giri di funzioni.... e
basta commentarlo efficacemente
2) tutti i programmi prima o poi finisco per diventare codice
assembler per essere eseguito dal processore e rivelo a chi non lo sa
che le funzioni in assembler "non esistono" ma vengono realizzate....
TaDa! con un bel goto all'indirizzo di memoria in cui e' stato posto
il codice della funzione
3) per quel che riguarda le prestazioni dovete sapere che per poter
mantenere la coerenza del codice, passare i parametri e non
trasformare il contesto attuale del chiamante in un ammasso informe di
bit, le funzioni non vengono tradotte solo in un goto, ma c'e' tutto
un insieme di operazioni che vengono eseguite che causano quindi
overhead,
in sintesi la mia idea e':  usare funzioni ogni volta che si puo', ma
ricordarsi che un goto a volte puo' cambiare di molto le prestazioni
di un codice
ciao
Roberto Padovani
----------------
ICQ#125729644
----------------

 di un codice
Si, ma non in PHP, o linguaggio non compilati come i vari Script languages.
Al primo posto deve essere chiarezza nel codice.
Se scrivi Driver in C, magari mischiato con Assembler hai perfettamente
ragione.
Ma bisogna essere cosciente di quello che si fa.
Chiaro che con o senza GOTO, chi codifica male lo fara' in ogni caso male...
:-)
J.


jump cross module ..... brrrrr !!!! certe cose bisognerebbe dirle in
forum vietati ai programmatori minorenni  !!!!    :-)
ma veramente conosci qualcuno che usa dei jump tra moduli ???
effettivamente in php non se ne sente il bisogno.... avevo divagato 
ciao J. !!!
