Si vous avez suivi avec nous tout au long de cette série, vous savez sans doute que nous examinons les concepts de la programmation orientée objet du point de vue du débutant.
Plus précisément, nous examinons le sujet pour ceux qui souhaitent se familiariser avec le paradigme, mais également pour savoir comment appliquer les concepts dans le contexte de WordPress; cependant, avant de commencer à travailler avec programmation orientée objet et WordPress, nous devons jeter les bases en utilisant les fonctionnalités de base fournies par PHP.
En fin de compte, nous travaillons à la création d’un exemple concret de programmation orientée objet en créant un plugin WordPress. Mais avant de faire cela, il reste encore quelques points à discuter..
Si vous lisez cette série pour la première fois, je vous recommande de consulter les articles précédents, car chaque article de cette série s'appuie sur celui qui le précède. Si, par contre, vous êtes plus familier avec la programmation orientée objet, vous voudrez peut-être revoir la série une fois que nous en serons à l'application pratique des idées..
Jusqu'à présent, nous avons traité les sujets suivants.
Dans cet article, nous allons conclure notre discussion sur les structures de contrôle en examinant les différents types de boucles fournies par PHP..
Si vous avez lu l'article précédent, rappelez-vous que les "structures de contrôle" font référence à des constructions fournies par le langage (dans notre cas, PHP) qui nous permettent de modifier le code tout au long du programme en fonction d'un certain nombre de conditions..
Dans le dernier article, nous avons examiné comment y parvenir en utilisant des instructions conditionnelles qui forceront le programme à suivre un chemin d’exécution basé sur une condition (par exemple, si une variable est définie, si une condition est vraie). , etc).
Mais ce n'est pas le seul type de contrôle que nous avons. En plus des conditions, nous avons la possibilité d’itérer (ou de boucler) des ensembles de données afin d’agir sur chaque élément d’un ensemble de données. Nous pouvons ajouter des données, supprimer des données, afficher des données, trier les données, etc..
Par exemple, supposons que nous ayons un ensemble de données, peut-être un ensemble de 10 publications, et que nous souhaitons parcourir et imprimer le titre et la date de chaque publication. Les boucles nous permettent de le faire.
Quoi que vous cherchiez à faire, PHP propose quatre types de boucles qui nous permettent de parcourir des ensembles de données. Dans cet article, nous allons examiner des exemples de chacune d’elles, ainsi que leurs nuances, de manière à disposer d’un autre ensemble de structures de contrôle que nous pourrons utiliser lorsque le moment sera venu d’écrire du code orienté objet..
pour
Bouclesle pour
La boucle est souvent considérée comme la plus compliquée des boucles en raison de la nature de l'écriture du code. Le flux de celui-ci lit un peu contre nature.
En général, nous sommes habitués à écrire du code ligne par ligne de telle sorte que chaque instruction soit définie sur une seule ligne. Cependant, avec pour
boucles, nous avons une approche légèrement différente. Tout d'abord, je vais vous donner un exemple élémentaire, nous en couvrirons les aspects, puis nous examinerons une approche plus détaillée..
Voici un exemple de base qui comptera jusqu'à 10 et affichera chaque numéro à l'écran comme il le fait:
pour ($ i = 0; $ i < 10; $i++ ) echo $i;
Dans la première ligne de la boucle (entre parenthèses après le pour
déclaration), nous procédons comme suit:
$ i
et le mettre à zéro$ i < 10
$ i
de la valeur 1 (en utilisant l'opérateur de post-incrémentation) après chaque itérationDans le corps de la boucle, nous utilisons simplement PHP écho
fonction pour imprimer la valeur actuelle de $ i
. Pendant que la boucle traite les instructions, nous verrons les chiffres 0 à 9 imprimés à l'écran (puisque nous partons de zéro et courons $ i
est inférieur à 10).
Différentes personnes utilisent différentes techniques pour lire le code. La stratégie que je vais vous recommander n'est peut-être pas la meilleure pour vous, mais lorsque je lis ces types de boucles, je les lis normalement comme ceci:
Avec $ i commençant à zéro et tant que $ i est inférieur à 10, exécutez le corps de la boucle, puis incrémentez $ i de 1.
La prise est que $ i
peut commencer à n’importe quelle valeur, peut compter jusqu’à un montant arbitraire et peut être incrémenté de n’importe quelle valeur.
Le plus de travail que nous faisons avec pour
boucles, plus vous aurez de chances d’attraper quelques objets susceptibles d’optimiser les performances. Pour l'instant, cependant, les bases de la boucle for ont été abordées et les techniques avancées sortent un peu du cadre de cet article.
pour chaque
Bouclespour chaque
Les boucles sont similaires aux boucles for, car elles parcourent un jeu de données, mais elles le font de manière séquentielle. Cela signifie qu’il n’ya pas de moyen facile de parcourir chaque, disons, deux éléments d’une liste (comme vous pouvez le faire avec, par exemple,, $ i + 2
dans pour
boucles).
Ce type de boucle est sans doute le plus lisible. Pour notre exemple, supposons que nous ayons un tableau et que le tableau de données contient les noms suivants: Alpha, Bravo, Charlie, Delta, Echo et Foxtrot. Le nom du tableau est stocké dans une variable appelée $ noms
.
Dans ce cas, nous pouvons configurer un pour chaque
boucle pour parcourir les noms et les afficher à l’écran de la manière suivante:
$ names = array ('Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot'); foreach ($ noms en tant que $ nom) echo $ nom;
Assez facile à installer, n'est-ce pas?
Tout comme nous avons partagé une façon de lire l'initiale pour
boucle dans la section précédente, vous pouvez lire le pour chaque
boucle de la manière suivante:
Pour chaque nom de la collection de noms, affichez-le à l'écran.
Ou peut-être plus généralement:
Pour chaque élément de la collection, affichez-le à l'écran.
Il y a un autre aspect à la pour chaque
boucle que nous pourrons traiter plus en détail plus tard dans la série, mais l’idée principale est que si vous êtes familier avec le tableau associatif, c’est-à-dire les tableaux indexés avec une clé et ayant une valeur associée, vous pouvez configurer un pour chaque
boucle pour récupérer chaque clé et valeur pour chaque itération de la boucle.
Par exemple, supposons que nous ayons le tableau associatif suivant:
$ heroes = array ('alien' => 'Superman', 'human' => 'Batman');
Lorsque vous utilisez un tableau associatif comme celui-ci, vous pouvez également configurer un pour chaque
boucle comme ceci:
foreach ($ heroes en tant que $ type => $ name) echo $ name. ' est un ' . $ type;
Cela aura pour résultat que la sortie lise quelque chose comme "Superman est un extraterrestre", car "Superman" est la valeur et "alien" est son type (ou sa clé)..
La forme plus générique de cette boucle est la suivante:
foreach ($ collection en tant que $ key => valeur) // le travail va ici
Rien terriblement compliqué.
tandis que
BouclesAvec les variations de la pour
boucles couvertes, il est temps d'attirer notre attention sur tandis que
boucles dont il existe deux variantes (bien qu’elles soient appelées quelque chose de différent: tandis que
boucles et faire
boucles), mais ils ne diffèrent que de façon mineure.
Mais avant de regarder en quoi ils diffèrent, jetons un coup d’œil à la tandis que
boucle, son format de base, son utilisation et sa comparaison avec la précédente pour
boucles.
Tout d'abord, le format de base d'un tandis que
La boucle est la suivante:
while (condition) // travaille
Notez que cette boucle diffère de nos précédentes boucles en ce sens qu’elle accepte une condition comme faisant partie de la déclaration initiale (d’où la raison pour laquelle nous avons couvert les conditionnelles dans notre dernier article)..
La boucle fonctionne en vérifiant d'abord si la condition est vraie, en exécutant le bloc de code dans le corps de la boucle, puis en vérifiant à nouveau la condition. Cela signifie que tandis que
les boucles peuvent faire tout unité de travail tant que la condition spécifiée est vraie.
Alors, bien sûr, vous pouvez parcourir une liste de nombres, parcourir une collection de données, mais vous pouvez également faire certaines choses tout en conservant, par exemple, une valeur booléenne. Et une fois que le drapeau atteint la valeur false, la boucle while se termine.
Regardons un exemple où nous extrayons des éléments d'un tableau. Supposons que le tableau initial a 100 éléments et que nous le ferons jusqu'à ce qu'il reste 50 éléments:
while (50! == count ($ éléments)) array_pop ($ éléments);
Ici, la condition continuera d’évaluer comme étant vraie jusqu’au nombre d’éléments de la liste. éléments $
tableau a été réduit à 50 éléments.
Comme nous l’avons fait avec les boucles précédentes, c’est un moyen de lire un tandis que
boucle:
Tant que cette condition est vraie, exécutez le code suivant.
Bien sûr, c'est comme ça que ça ressemble dans le code de toute façon, n'est-ce pas?
faire
Bouclesfinalement, faire
les boucles sont presque exactement comme tandis que
les boucles sauf qu'il y aura itération au moins une fois avant de vérifier la condition.
Avant de regarder un exemple, voici la structure de base du faire
boucle:
do // travaille while (condition);
Relativement clair, droit?
Donc, configurons un exemple très basique nous permettant de créer un tableau et de le renseigner avec des nombres pairs uniquement. Pour ce faire, nous avons besoin de:
Cela dit, on peut configurer le code de la manière suivante:
$ i = 1; $ even_numbers = array (); do if (0 === ($ i% 2)) $ even_numbers [] = $ i; $ i ++; tant que ($ i <= 100 );
Enfin, comme pour le reste des boucles, vous pouvez lire ces types de boucles de la manière suivante:
Effectuez le bloc de travail suivant, puis vérifiez si la condition suivante est vraie. Si oui, continuez à faire le travail.
Quand cela vient à faire
boucles, si vous travaillez avec une collection, vous voulez vous assurer que la collection est ne pas vide avant de travailler dessus car il va exécuter le code dans le bloc de la boucle avant de vérifier si la condition est vraie. Cela peut entraîner des erreurs si vous essayez de travailler sur un ensemble de données vide..
Bien sûr, si c'est ce que vous envisagez de faire, l'une des autres boucles est mieux optimisée pour ce type d'opération..
Seule utilisation faire
boucles lorsque vous avez un ensemble de données ou que vous allez exécuter une procédure que vous savoir doit être exécuté au moins une fois avant de vérifier la condition qui indique le nombre d'exécutions à exécuter.
Ceci étant couvert, nous avons présenté tout ce dont nous avons besoin pour commencer la discussion sur les fonctions, les attributs, la portée et d’autres aspects fondamentaux de la programmation orientée objet..
.