ho incontrato diverse situazioni in cui il resto di un blocco di codice PHP deve essere saltato a causa di una condizione di errore (errore di connessione al database, input non valido, etc.). Come studente, il mio professore usa semplicemente die
, che interrompe del tutto l'analisi del file, lasciando la pagina incompleta, senza il piè di pagina o anche i tag di chiusura HTML </body></html>
. Anche quando c'è un errore, non c'è motivo di generare HTML non valido tagliando i tag di chiusura.
Ovviamente, un approccio puramente strutturato utilizza le dichiarazioni if
e ciò è preferibile a goto
nella maggior parte delle situazioni. Tuttavia, ritengo che se stai cercando di saltare fuori da un blocco di codice PHP, inserire ampi segmenti di codice in una struttura if
/else
è piuttosto inelegante e può effettivamente rendere il codice più difficile da comprendere rispetto semplicemente all'utilizzo di una dichiarazione goto
che salta alla fine del blocco PHP, appena prima dello ?>
, poiché diventa difficile ricordare che un intero gruppo di codici fa in effetti parte di un'istruzione condizionale oltre 50 righe sotto le linee if
o elseif
.
Tutti dicono che goto
dichiarazioni sono male, ma ci sono usi validi per goto
che rendono il codice più facile da capire, come saltare fuori delle strutture di controllo profondamente nidificate e saltare alla fine di un blocco di codice PHP (dato che nessun esiste un costrutto di linguaggio incorporato per farlo).
Un codice di costruzione come goto
non è intrinsecamente malvagio. Si tratta di come lo si utilizza.
No, non esiste una cosa del genere. Non riesco neanche a immaginare dove potresti usarlo. – Hast
Qualunque cosa sia successo a 'if'? – deceze
Ciò di cui hai bisogno è 'goto' ma' goto' = ** design scarso ** ... C'è 'if else' per quello che ti serve. – CodeAngry