Apprendre PHP pour le développement WordPress: les bases du flux de contrôle

Bienvenue à lamp;rsquointroduction du flux de contrôle PHP! Cet article poursuit avec les bases du développement de PHP pour WordPress. Notre discussion sur le flux de contrôle PHP est basée sur une compréhension de base de plusieurs sujets abordés dans les articles précédents: les fonctions PHP, qui est lamp;rsquoune des principales formes de contrôle du flux damp;rsquoexécution de code PHP. Php renvoie une déclaration qui est un élément important damp;rsquoune fonction PHP pour contrôler le flux. Maintenant: Quamp;rsquoest ce quamp;rsquoun flux de contrôle en PHP et pourquoi cela vaut il la peine damp;rsquoêtre discuté?
Quamp;rsquoest ce quamp;rsquoun flux de contrôle de flux PHP permet damp;rsquoécrire du Code qui ne fonctionne pas toujours.
avez déjà écrit (ou voulez écrire!) Ce n’est que lorsque quelqu’un publie un nouveau billet sur WordPress ou que l’utilisateur actuel est connecté en tant qu’administrateur que saurez à quel point le flux de contrôle est important pour PHP, WordPress et tout système logiciel. Le flux de contrôle est le bourdonnement continu de la logique
Camp;rsquoest ça.
Contrôle Quamp;rsquoest ce que le flux de contrôle PHP Rien de spécial: il ne fait référence quamp;rsquoà la façon particulière dont PHP gère et implémente le flux de contrôle lui même. Bien que le flux de contrôle soit simple, il est également extrêmement important: En fait, son existence ou son absence se traduit par deux types de langage technique complètement différents. Donc, si voulez savoir ce qui fait de PHP un langage de programmation (et peut être pas HTML), alors cet article est pour . Plongeons! Flux de contrôle: un exemple simple avant de continuer, regardons un exemple très simple de flux de contrôle PHP:
amp;lt?php echo amp;039Hello.amp;039 Will print amp;quotHello.amp;quot Says amp;quotif 1 exactly equals 2, then run the code insideamp;quot if ( 1 === 2 ) { None of this code will ever run! Itamp;039s inside a false if-statement. echo amp;039Good day.amp;039 This code will not run. echo amp;039Greetings.amp;039 Will not run. $year = date( amp;039Yamp;039 ) Will not run. echo $year Will not run. } echo amp;039Hi again.amp;039 Will print amp;quotHi again.amp;quot Il flusso di controllo fa sì che il codice venga eseguito amp;quotsolo a volteamp;quot, a seconda delle circostanze particolari specificate. Da questo rapido esempio, possiamo vedere lamp;039essenza del flusso di controllo: fa sì che il codice venga eseguito amp;quotsolo qualche voltaamp;quot, a seconda di circostanze particolari che tu, il programmatore, specifichi. Nel caso del codice sopra, quel amp;quota volteamp;quot è in realtà amp;quotmaiamp;quot, perché la nostra istruzione if è impostata per essere eseguita solo quando 1 è uguale a 2.
Se una parte del codice sopra è confusa, non perderti troppo nei dettagli: ci sono molti altri esempi (contenenti codice molto più utile!) Più avanti. Flusso di controllo e tipi di lingua Come ho già detto, alcuni linguaggi tecnici hanno il flusso di controllo e altri no, e questo fa unamp;039enorme differenza nel tipo di linguaggio. In particolare, se un determinato linguaggio tecnico ha o meno un flusso di controllo determina se si tratta di un: Linguaggio dichiarativo , come HTML o CSS, o an Linguaggio imperativo , come PHP o JavaScript. In un linguaggio dichiarativo, tutto ciò che scrivi amp;quotsi presenta ogni voltaamp;quot. Ad esempio, lamp;039HTML che scrivi in ​​un file .html è ciò che il browser leggerà e interpreterà: tutto, dallamp;039alto verso il basso, non ci sono due modi per farlo.
In un linguaggio imperativo, decidi quali parti del tuo codice verranno eseguite e quando. In un linguaggio imperativo, invece, decidi quali parti del tuo codice verranno eseguite e in quali circostanze. Ad esempio, potresti scrivere uno script PHP di un milione di righe che calcola lamp;039età dellamp;039universo. E quindi potresti racchiudere lamp;039intero script in if( 1 === 2 ) { } , e nessuno di quei milioni di righe di calcoli verrà mai eseguito, proprio come nellamp;039esempio sopra. Quindi possiamo sicuramente amp;quotscrivere codiceamp;quot senza flusso di controllo: ad esempio, scrivendo HTML e CSS per descrivere come dovrebbe apparire un sito web statico. Ma quando le persone parlano di amp;quotscrivere in un linguaggio di programmazioneamp;quot, spesso intendono scrivere in un linguaggio imperativo , perché il flusso di controllo la capacità di amp;quotfare cose diverse in circostanze diverseamp;quot è fondamentale per gran parte della programmazione.
Flusso di controllo PHP: strutture di controllo ed esempi In questa sezione, identifichiamo e spieghiamo le principali strutture del flusso di controllo in PHP, con semplici esempi di codice. Strutture di controllo PHP non coperte (meno utili). Fin dallamp;039inizio, ti faremo un favore non coprendo alcune strutture del flusso di controllo PHP che, onestamente, non ho mai avuto bisogno di usare come sviluppatore WordPress: switch : sembra che possa essere utile, ma è anche ingombrante e strano e forse più utile nel codice che è anche ingombrante e strano. Prova prima il refactoring. for() -loops: sintassi confusa. while() sembra più semplice e può fare le stesse cose. declare() : Non ne ho mai sentito parlare prima di oggi e penso di sapere perché. Sembra un ottimo modo per scrivere codice imprevedibile. Con quegli strani elementi fuori mano, ecco semplici esempi di flusso di controllo in PHP:
if() -Dichiarazioni amp;lt?php $greeting = amp;039Hiamp;039 Says amp;quotif $greeting exactly equals the string amp;039Hiamp;039, then run the code insideamp;quot if ( $greeting === amp;039Hiamp;039 ) { echo $greeting . amp;039!amp;039 Will print out amp;quotHi!amp;quot } Says amp;quotif $greeting exactly equals the string amp;039Helloamp;039, then run the code insideamp;quot if ( $greeting === amp;039Helloamp;039 ) { echo $greeting . amp;039,amp;039 This code will not run } $greeting = amp;039Helloamp;039 $greeting is now amp;quotHelloamp;quot if ( $greeting === amp;039Hiamp;039 ) { echo $greeting . amp;039!amp;039 This code will not run } if ( $greeting === amp;039Helloamp;039 ) { echo $greeting . amp;039,amp;039 Will print out amp;quotHello,amp;quot } if() -Dichiarazioni Compreso elseif elseif() È anche possibile scrivere la stessa logica sopra in modo più chiaro ed efficiente, usando elseif .
elseif è un operatore che viene dopo unamp;039istruzione if iniziale. Il codice allamp;039interno di un elseif verrà eseguito solo se entrambe le cose sono vere: Lamp;039istruzione if() iniziale e qualsiasi altra s successiva elseif() che si trova al di sopra di quella corrente sono tutte false. La condizione di elseif() è vera. amp;lt?php $greeting = amp;039Hiamp;039 Says amp;quotif $greeting exactly equals amp;039Hiamp;039, then run the code insideamp;quot if ( $greeting === amp;039Hiamp;039 ) { echo $greeting . amp;039!amp;039 Will print out amp;quotHi!amp;quot } Says amp;quotIf the above if()-statement was false, *and* $greeting exactly equals amp;039Helloamp;039, then run the code insideamp;quot elseif ( $greeting === amp;039Helloamp;039 ) { echo $greeting . amp;039,amp;039 This code will not run } $greeting = amp;039Helloamp;039 $greeting is now amp;quotHelloamp;quot Below is the same if-elseif block together if ( $greeting === amp;039Hiamp;039 ) { echo $greeting . amp;039!amp;039 This code will not run } elseif ( $greeting === amp;039Helloamp;039 ) { echo $greeting . amp;039,amp;039 Will print out amp;quotHello,amp;quot } Questo codice si comporta esattamente come lamp;039esempio sopra, ma salva alcune righe. Cattura anche più chiaramente la verità che $greeting non può essere sia amp;quotCiaoamp;quot che amp;quotCiaoamp;quot allo stesso tempo, quindi lamp;039opzione amp;quotCiaoamp;quot è davvero più chiara da pensare come un elseif() , non come propria if() -affermazione su qualcosa di totalmente separato.
La Boucle while () cycles est une structure qui peut effectuer plusieurs opérations. Les boucles principales utiles en PHP pour WordPress sont les boucles while () et foreach (). Voici un while () loop: $i = 0 $ Je commence à 0 while () la boucle continue aussi longtemps que $I est inférieur à 3, et $I amp;lt 3 ) : echo amp;039Hello and $i is amp;039 . $i . amp;039 | amp;039 $i++ This means amp;quotincrease $i by 1amp;quot endwhile Questo ciclo verrà eseguito per un totale di tre volte, stampando quanto segue: Hello and $i is 0 | Hello and $i is 1 | Hello and $i is 2 | Hello and $i is 0 | Hello and $i is 1 | Hello and $i is 2 | Cosa succede al quarto amp;quotcicloamp;quot in giro? A questo punto, $i è effettivamente uguale a 3, che non è inferiore a 3. La condizione di while() -loop non è più vera, quindi il ciclo si interrompe. Nota a margine sulla sintassi alternativa di PHP A proposito, si noti che lamp;039esempio sopra usa la sintassi alternativa : invece di while () { } , dice while () : endwhile . La verità è che queste due cose significano esattamente la stessa cosa in PHP: sono sintassi alternativa (amp;quotmodo di esprimereamp;quot) per la stessa logica sottostante. Praticamente qualsiasi struttura di controllo PHP in questo articolo può essere scritta in due modi: while () { } o while () : endwhile if () { } o if () : endif foreach () { } o foreach () : endforeach E così via. Queste strutture si comportano in modo identico, quindi quale stile di scrittura scegli è una questione di preferenza e di quali standard di codifica segui. La cosa più importante è che è bene essere coerenti nellamp;039usare qualsiasi sintassi tu scelga. Impara a evitare loop infiniti Se vuoi interrompere PHP e rendere inutilizzabile il sito Web tuo o del tuo cliente, esegui un ciclo infinito: $i = 0 $i starts out at 0 This while()-loop will keep running as long as $i is less than 3 while ( $i amp;lt 3 ) : echo amp;039oh no amp;039 endwhile Questo ciclo durerà per sempre, stampando oh no oh no oh no oh no oh no oh no oh no oh no oh no oh no oh no fino a quando il tuo server non deciderà che ne ha abbastanza e va in timeout. Cosa è cambiato rispetto allamp;039esempio precedente? Non abbiamo più $i++ linea che cresce $i di 1 ogni volta che il ciclo viene eseguito. $i rimane bloccato a 0, che è sempre inferiore a tre, quindi il ciclo non si ferma mai. I tuoi loop hanno sempre bisogno di un motivo per fermarsi. foreach() -Cicli Un ciclo PHP foreach() è unamp;039operazione che funziona con un tipo di dati specifico: gli array. Quello che fa foreach() è amp;quotla stessa cosa, una volta, per ogni singolo elemento nellamp;039array che è datoamp;quot. Vediamo un esempio: Lamp;rsquoexemple ci dessus imprimera ce qui suit: Jamp;rsquoai besoin de lait! Jamp;rsquoai besoin damp;rsquooeufs! Jamp;rsquoai besoin de chocolat! Jamp;rsquoai besoin de lait! Jamp;rsquoai besoin damp;rsquooeufs! Jamp;rsquoai besoin de chocolat! Foreach () a une utilisation plus complexe et peut être utilisé pour corréler des tableaux (des tableaux plus structurés), mais nous en discuterons plus tard. Fonctions Php comme nous lamp;rsquoavons mentionné dans notre article sur les fonctions PHP, le point central de la fonction est quamp;rsquoelle ne fonctionne pas immédiatement. Nous namp;rsquoen avons pas parlé à lamp;rsquoépoque, mais camp;rsquoétait en fait une déclaration sur le flux de contrôle. Jetons un coup damp;rsquooeil à lamp;rsquoexemple de fonction le plus simple de cet article: Les fonctions sont la meilleure façon damp;rsquoappeler des bits logiques seulement si nécessaire et, comme toute autre construction linguistique listée ici, sont la base du flux de contrôle PHP. Retour et flux de contrôle comme nous lamp;rsquoavons expliqué dans lamp;rsquoarticle complet sur lamp;rsquoinstruction de retour PHP, retour arrêtera damp;rsquoexécuter la fonction et retournera tout dans la fonction
Et dis le. Il samp;rsquoagit damp;rsquoun élément important du flux de contrôle. amp;lt?php function multiply( $num1, $num2 ) { return $num1 * $num2 echo amp;039Bananasamp;039 Wonamp;039t run! Function already returned } echo multiply( 4, 5 ) Will print out amp;quot20amp;quot Quindi, allamp;039interno di una funzione, il return è un amp;quotarresto forzatoamp;quot e, in generale, una amp;quotrestituzione del tuo lavoroamp;quot. exit e die Queste due istruzioni sono sintassi alternativa lamp;039una per lamp;039altra: fanno la stessa cosa. Quello che fanno è fermare tutta lamp;039esecuzione di script PHP nel suo intento. Cela peut sembler lourd, mais il peut être très important, par exemple lors de lamp;rsquoécriture de fonctions Ajax. Avec var _ dump (), Die () est également très utile dans le débogage. En fait, pouvez passer un paramètre dans die () pour imprimer quelque chose sur la page pendant le processus, mais laissez nous les détails maintenant. Maintenant connaissez le processus! En résumé, la structure de contrôle ci dessus est lamp;rsquooutil que nous disons à PHP

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins