Attualmente sto lavorando su un grande file che devo analizzare ed elaborare e ogni passo deve essere fatto in un ordine mentre faccio query SQL e ho bisogno di ID inseriti per fare altri inserimenti ... Il problema è che trovo spesso il mio codice simile a questo:
if( function1() ) {
// process things to continue
if( function2() ) {
// process things to continue
// ... and so on
} else {
// fail2
}
} else {
// fail1
}
E lo stesso vale per le convalide dei form, ecc ... e diventa davvero difficile seguire i passaggi, e non è piacevole vedere il codice.
Come ho già detto, ho bisogno di function1
da eseguire prima di function2
, quindi non posso fare altrimenti che essere sicuro che le funzioni precedenti siano state eseguite correttamente.
Esiste un modo corretto o uno schema di progettazione per codificare questo tipo di funzioni condizionali concatenate?
(FYI: Io uso OO PHP5, e sono praticamente un principiante in termini di standard nella programmazione, quindi per favore non decapitare se è casuale!)
(relativo a possibili duplicati di Quando, se mai, dovrebbe Funzioni della catena a margherita? ): le funzioni possono essere utilizzate separatamente e quindi non possono essere utilizzate con collegamento a margherita (vedere "B" nel collegamento indicato).
I //Fail
s sono qui per "alzare un flag" per dire che c'è stato un problema e più avanti nel codice (dopo il if / elses) esegue il rollback di tutte le modifiche (con il rollback della transazione di PDO). Ma vorrei avvisare l'utente che c'è stato un problema, scrivere un messaggio (errore del database? Valori vuoti? ...) e magari passare più informazioni come variabili da visualizzare / debug.