Objektorientierte Programmierung in WordPress Kontrollstrukturen II

Wenn Sie die gesamte Serie mit uns verfolgt haben, wissen Sie zweifellos, dass wir die Konzepte der objektorientierten Programmierung aus der Perspektive des Anfängers betrachten.

Wir betrachten das Thema insbesondere für diejenigen, die sich mit dem Paradigma vertraut machen möchten, aber auch mit der Anwendung der Konzepte im Kontext von WordPress. aber bevor wir arbeiten können mit Objektorientierte Programmierung und WordPress müssen mit den grundlegenden Funktionen von PHP erstellt werden.

Letztendlich arbeiten wir daran, ein praktisches Beispiel für objektorientierte Programmierung zu erstellen, indem wir ein WordPress-Plugin erstellen. Aber bevor wir das tun, gibt es noch ein paar Dinge, über die wir diskutieren müssen.

Wenn Sie diese Serie zum ersten Mal lesen, empfehle ich Ihnen, die vorherigen Artikel zu lesen, da jeder Artikel dieser Serie auf dem vorhergehenden Artikel aufbaut. Wenn Sie dagegen eher mit objektorientierter Programmierung vertraut sind, möchten Sie vielleicht die Serie nochmals überdenken, sobald wir uns mit der praktischen Anwendung der Ideen befassen.

Bis zu diesem Punkt haben wir die folgenden Themen behandelt.

  1. Eine Einleitung
  2. Klassen
  3. Typen
  4. Kontrollstrukturen: Bedingte Anweisungen

In diesem Artikel schließen wir unsere Diskussion über Kontrollstrukturen ab, indem wir die verschiedenen Arten von Schleifen betrachten, die PHP bereitstellt.

Eine Überprüfung der Kontrollstrukturen

Wenn Sie den vorherigen Artikel gelesen haben, erinnern Sie sich daran, dass sich "Kontrollstrukturen" auf Konstrukte beziehen, die von der Sprache (in unserem Fall PHP) bereitgestellt werden und die es uns ermöglichen, den Code im gesamten Programm basierend auf einer Reihe von Bedingungen zu ändern.

Im letzten Artikel haben wir untersucht, wie wir dies durch die Verwendung von bedingten Anweisungen tun können. Dies sind Anweisungen, die das Programm dazu zwingen, einen Ausführungspfad basierend auf einer Bedingung zu zwingen (z. B. wenn eine Variable gesetzt ist, wenn eine Bedingung wahr ist.) , und so weiter).

Schleifen

Aber das ist nicht die einzige Art von Kontrolle, die wir haben. Zusätzlich zu den Bedingungen können wir Datensätze iterieren (oder in Schleife durchlaufen), so dass wir auf jedes Element in einem Datensatz reagieren können. Wir können Daten hinzufügen, Daten entfernen, Daten anzeigen, Daten sortieren und vieles mehr.

Nehmen wir zum Beispiel an, wir haben einen Datensatz, vielleicht einen Satz von 10 Beiträgen, und wir möchten den Titel und das Datum jedes Beitrags durchlaufen und ausdrucken. Schleifen erlauben uns dies zu tun.

Was auch immer Sie vorhaben, es gibt vier Arten von Schleifen, die PHP zur Verfügung stellt, die uns das Durchlaufen von Datensätzen ermöglichen. In diesem Artikel werden wir Beispiele sowie einige Nuancen von jedem einzelnen betrachten, so dass wir noch eine Reihe von Kontrollstrukturen haben, die wir verwenden können, wenn der Zeitpunkt beginnt, objektorientierten Code zu schreiben.

zum Schleifen

Das zum Schleife wird oft als die komplizierteste der Schleifen angesehen, da Sie den Code schreiben. Der Fluss davon liest sich etwas unnatürlich.

Normalerweise werden wir verwendet, um Code zeilenweise so zu schreiben, dass jeder Befehl auf eine einzige Zeile gesetzt ist. jedoch mit zum Schleifen haben wir einen etwas anderen Ansatz. Zuerst werde ich ein grundlegendes Beispiel erläutern, wir werden die Aspekte davon behandeln und dann einen detaillierteren Ansatz betrachten.

Hier ein einfaches Beispiel, das bis 10 zählt und dabei jede Zahl auf dem Bildschirm anzeigt:

für ($ i = 0; $ i < 10; $i++ )  echo $i; 

In der ersten Zeile der Schleife (innerhalb der Klammern nach dem zum Aussage), machen wir folgendes:

  • eine Variable initialisieren $ i und gleich Null setzen
  • Festlegen einer Bedingung, damit dieser Vorgang fortgesetzt wird $ i < 10
  • inkrementieren $ i um den Wert 1 (unter Verwendung des Nachinkrementierungsoperators) nach jeder Iteration

Im Kern der Schleife verwenden wir einfach PHP Echo Funktion, um den aktuellen Wert von zu drucken $ i. Während die Schleife die Anweisungen verarbeitet, werden auf dem Bildschirm 0 - 9 ausgedruckt (da wir bei null beginnen und dabei laufen $ i ist weniger als 10).

Verschiedene Leute haben unterschiedliche Techniken, wie sie Code lesen, daher ist die Strategie, die ich empfehlen werde, nicht die beste für Sie, aber wenn ich diese Arten von Schleifen lese, lese ich sie normalerweise so:

Wenn $ i bei Null beginnt und $ i weniger als 10 ist, führen Sie den Hauptteil der Schleife aus und erhöhen Sie dann $ i um 1. 

Der Haken ist das $ i kann mit einem beliebigen Wert beginnen, kann bis zu einem beliebigen Betrag zählen und um einen beliebigen Wert erhöht werden. 

Je mehr Arbeit wir damit machen zum Schleifen, desto wahrscheinlicher werden Sie ein paar Dinge fangen, die die Leistung optimieren können. Im Moment sind jedoch die Grundlagen der for-Schleife behandelt worden, und die fortgeschrittenen Techniken liegen etwas außerhalb des Rahmens dieses Artikels.

für jeden Schleifen

für jeden Schleifen ähneln For-Schleifen, wenn sie ein Dataset durchlaufen, dies geschieht jedoch nacheinander. Das bedeutet, dass es keine einfache Möglichkeit gibt, alle zwei Elemente in einer Liste zu durchlaufen (wie Sie dies beispielsweise tun können), $ i + 2 im zum Schleifen).

Diese Art von Schleife ist wohl die lesbarste. Nehmen wir für unser Beispiel an, dass wir ein Array haben und das Datenarray die folgenden Namen enthält: Alpha, Bravo, Charlie, Delta, Echo und Foxtrot. Der Name des Arrays wird in einer Variablen gespeichert $ Namen.

In diesem Fall können wir a einrichten für jeden Schleife durchlaufen, um die Namen zu durchlaufen und auf dem Bildschirm wie folgt anzuzeigen:

$ names = Array ('Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot'); foreach ($ namen als $ name) echo $ name; 

Ziemlich einfach einzurichten, nicht wahr??

So wie wir eine Möglichkeit hatten, die Initiale zu lesen zum Schleife im vorherigen Abschnitt können Sie das lesen für jeden Schleife folgendermaßen:

Zeigen Sie für jeden Namen in der Namensammlung ihn auf dem Bildschirm an.

Oder vielleicht allgemeiner:

Zeigen Sie für jedes Element in der Sammlung es auf dem Bildschirm an.

Noch etwas?

Es gibt noch einen anderen Aspekt der für jeden Eine Schleife, die wir später in der Serie ausführlicher behandeln können. Wenn Sie jedoch mit assoziativen Arrays vertraut sind, dh Arrays, die mit einem Schlüssel indiziert sind und denen ein Wert zugeordnet ist, können Sie eine für jeden Schleife, um jeden Schlüssel und Wert für jede Iteration der Schleife abzurufen.

Angenommen, wir haben das folgende assoziative Array:

$ heroes = array ('alien' => 'Superman', 'human' => 'Batman');

Wenn Sie ein assoziatives Array wie dieses verwenden, können Sie auch a einrichten für jeden Schleife wie folgt:

foreach ($ helden als $ type => $ name) echo $ name. ' ist ein ' . $ type; 

Dies führt dazu, dass die Ausgabe etwas liest, beispielsweise "Superman ist ein Alien", da "Superman" der Wert ist und "Alien" sein Typ (oder sein Schlüssel) ist.. 

Die allgemeinere Form dieser Schleife lautet wie folgt:

foreach ($ collection als $ key => value) // Arbeit geht hier hin

Nichts fürchterlich kompliziert.

während Schleifen

Mit den Variationen der zum Schleifen bedeckt, ist es Zeit, unsere Aufmerksamkeit zu richten während Schleifen, von denen es zwei Variationen gibt (obwohl sie als etwas anderes bezeichnet werden: während Schleifen und tun loops), aber sie unterscheiden sich nur geringfügig.

Aber bevor wir uns ansehen, wie sie sich unterscheiden, werfen wir einen Blick auf die während Loop, sein grundlegendes Format, wie man es benutzt und wie es mit dem vorherigen verglichen wird zum Schleifen.

Zunächst das Grundformat von a während Schleife ist wie folgt:

while (Bedingung) // Arbeit erledigen

Beachten Sie, dass diese Schleife sich von unseren vorherigen Schleifen unterscheidet, da sie eine Bedingung als Teil der ursprünglichen Anweisung akzeptiert (daher haben wir in unserem letzten Artikel Bedingungsanforderungen behandelt)..

Die Schleife prüft zunächst, ob die Bedingung wahr ist, führt den Codeblock im Schleifenkörper aus und überprüft dann die Bedingung erneut. Das bedeutet, dass während Schleifen können irgendein Arbeitseinheit, solange die angegebene Bedingung als wahr ausgewertet wird. 

Sicher können Sie eine Liste von Zahlen durchlaufen, eine Sammlung von Daten durchlaufen lassen, aber Sie können auch bestimmte Dinge tun, während ein boolescher Wert immer noch wahr ist. Sobald das Flag den Wert "false" erreicht, wird die while-Schleife beendet.

Schauen wir uns ein Beispiel an, bei dem Elemente aus einem Array entfernt werden. Nehmen wir an, das anfängliche Array hat 100 Elemente und wir werden dies tun, bis das Array noch 50 Elemente hat:

while (50! == count ($ elements)) array_pop ($ elements); 

In diesem Fall wird die Bedingung bis auf die Anzahl der Elemente in dem Wert "true" ausgewertet $ elements Array wurde auf 50 Elemente reduziert.

Wie schon bei den vorherigen Loops können Sie eine a lesen während Schleife:

Führen Sie den folgenden Code aus, während diese Bedingung erfüllt ist.

Natürlich sieht es so aus, als wäre es sowieso im Code, oder??

tun Schleifen

Endlich, tun Schleifen sind fast genau mögen während Schleifen außer dort werden mindestens einmal durchlaufen, bevor der Zustand überprüft wird.

Bevor Sie sich ein Beispiel anschauen, ist hier die grundlegende Struktur der tun Schleife:

// erledige Arbeit while (Bedingung);

Relativ klar, richtig?

Lassen Sie uns ein sehr einfaches Beispiel einrichten, bei dem wir ein Array erstellen und es nur mit geraden Zahlen füllen. Dafür brauchen wir:

  • ein Array für die Zahlen
  • Eine Variable, die enthält, wie oft wir die ersten 100 geraden Zahlen durchlaufen haben

Wenn dies gesagt ist, kann man den Code so einrichten, dass er wie folgt aussieht:

$ i = 1; $ even_numbers = array (); do if (0 === ($ i% 2)) $ even_numbers [] = $ i;  $ i ++;  while ($ i <= 100 );

Und schließlich können Sie diese Arten von Schleifen wie die übrigen Schleifen folgendermaßen lesen:

Führen Sie den folgenden Arbeitsblock aus und prüfen Sie, ob die folgende Bedingung erfüllt ist. Wenn ja, machen Sie die Arbeit weiter.

Noch etwas?

Wenn es darum geht tun Wenn Sie mit einer Sammlung arbeiten, möchten Sie sicherstellen, dass die Sammlung vorhanden ist nicht leer, bevor daran gearbeitet wird, da der Code im Block der Schleife ausgeführt wird, bevor geprüft wird, ob die Bedingung erfüllt ist. Dies kann zu Fehlern führen, wenn Sie versuchen, an einem leeren Datensatz zu arbeiten.

Wenn Sie dies planen, ist natürlich eine der anderen Schleifen für diese Art von Operation besser optimiert.

Benutz nur tun Schleifen, wenn Sie über eine Reihe von Daten verfügen oder eine Prozedur ausführen, die Sie ausführen kennt muss mindestens einmal ausgeführt werden, bevor die Bedingung überprüft wird, die die Anzahl der durchzuführenden Ausführungen angibt.

Was kommt als nächstes?

Damit haben wir alles dargelegt, was wir tun müssen, um mit Funktionen, Attributen, Geltungsbereich und anderen grundlegenden Aspekten der objektorientierten Programmierung zu beginnen.

.