Heim  >  Artikel  >  Backend-Entwicklung  >  Ein tiefer Einblick in die objektorientierte Programmierung in WordPress: Kontrollstrukturen II

Ein tiefer Einblick in die objektorientierte Programmierung in WordPress: Kontrollstrukturen II

王林
王林Original
2023-09-02 12:13:06525Durchsuche

Ein tiefer Einblick in die objektorientierte Programmierung in WordPress: Kontrollstrukturen II

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

Insbesondere wenden wir uns an dieses Thema für diejenigen, die sich mit dem Paradigma und der Anwendung dieser Konzepte im Kontext von WordPress vertraut machen möchten. Bevor wir jedoch mit der objektorientierten Programmierung und WordPress arbeiten können, müssen wir uns darauf einlassen die Grundfunktionalität von PHP Base.

Letztendlich arbeiten wir daran, ein praktisches Beispiel für objektorientierte Programmierung zu schaffen, indem wir ein WordPress-Plugin erstellen. Aber vorher müssen wir noch ein paar Dinge besprechen.

Wenn Sie diese Serie zum ersten Mal lesen, empfehle ich Ihnen, sich die vorherigen Artikel anzusehen, da jeder Artikel dieser Serie auf dem vorherigen Artikel aufbaut. Wenn Sie hingegen mit der objektorientierten Programmierung besser vertraut sind, möchten Sie diese Reihe vielleicht noch einmal durchgehen, wenn wir beginnen, diese Ideen in die Praxis umzusetzen.

Bisher haben wir folgende Themen besprochen.

  1. Einführung
  2. Kurse
  3. Typ
  4. Kontrollstruktur: bedingte Anweisung

In diesem Artikel schließen wir unsere Diskussion über Kontrollstrukturen mit einem Blick auf die verschiedenen Arten von Schleifen ab, die PHP bereitstellt.

Überprüfung der Kontrollstruktur

Wenn Sie den vorherigen Artikel gelesen haben, werden Sie sich daran erinnern, dass sich „Kontrollstrukturen“ auf die von der Sprache (in unserem Fall PHP) bereitgestellten Strukturen beziehen, die es uns ermöglichen, den Code im gesamten Programm auf der Grundlage von Zahlen zu ändern. Zustand.

Im vorherigen Artikel haben wir uns angeschaut, wie wir dies mithilfe von bedingten Anweisungen bewerkstelligen können, die das Programm dazu zwingen, basierend auf einer Bedingung zu handeln (z. B. ob eine Variable gesetzt ist, ob die Bedingung wahr ist usw.).

Schleife

Aber das ist nicht die einzige Art der Kontrolle, die wir haben. Zusätzlich zu den Bedingungen sind wir auch in der Lage, den Datensatz zu iterieren (oder zu durchlaufen), sodass wir für jedes Element im Datensatz Maßnahmen ergreifen können. Wir können Daten hinzufügen, Daten löschen, Daten anzeigen, Daten sortieren und mehr.

Nehmen wir zum Beispiel an, wir haben einen Datensatz, vielleicht 10 Beiträge, und wir möchten den Titel und das Datum jedes Beitrags in einer Schleife ausdrucken. Schleifen ermöglichen uns dies.

Egal, was Sie tun möchten, PHP bietet vier Arten von Schleifen, die es uns ermöglichen, den Datensatz zu durchlaufen. In diesem Artikel betrachten wir jedes Beispiel und einige seiner Nuancen, damit Sie einen anderen Satz von Kontrollstrukturen verwenden können, wenn Sie mit dem Schreiben von objektorientiertem Code beginnen.

for Schleife

Aufgrund der Art und Weise, wie Code geschrieben wird, for Schleifen werden oft als die komplexesten Schleifen angesehen. Der Ablauf liest sich etwas unnatürlich.

Normalerweise sind wir es gewohnt, Code Zeile für Zeile zu schreiben, sodass jede Anweisung in einer Zeile steht. Für for Schleifen verfolgen wir jedoch einen etwas anderen Ansatz. Zuerst teile ich ein einfaches Beispiel und wir werden verschiedene Aspekte davon behandeln, und dann schauen wir uns einen detaillierteren Ansatz an.

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

for ( $i = 0; $i < 10; $i++ ) {
    echo $i;
}

In der ersten Zeile der Schleife (in den Klammern nach der for-Anweisung) machen wir Folgendes:

  • Initialisieren Sie die Variable $i und setzen Sie sie auf Null
  • Legen Sie eine Bedingung fest, um die Ausführung fortzusetzen, wenn $i
  • Erhöhen $i um den Wert 1 nach jeder Iteration (unter Verwendung des Post-Inkrement-Operators)

Im Schleifenkörper verwenden wir einfach die Funktion echo von PHP, um den aktuellen Wert von echo 函数来打印 $i 的当前值。当循环处理指令时,我们将在屏幕上看到 0 - 9 的打印结果(因为我们从零开始运行,而 $i auszugeben. Während die Schleife die Anweisungen verarbeitet, werden auf dem Bildschirm 0–9 angezeigt (da wir von Null ausgehen und

kleiner als 10 ist).

Verschiedene Leute haben unterschiedliche Techniken zum Lesen von Code, daher ist die Strategie, die ich gleich empfehlen werde, vielleicht nicht die beste für Sie, aber wenn ich diese Art von Schleifen lese, lese ich normalerweise so:
$i beginnt bei Null. Wenn $i kleiner als 10 ist, wird der Schleifenkörper ausgeführt und dann $i um 1 erhöht.

$iDas Problem besteht darin, dass

bei jedem Wert beginnen, bis zu einer beliebigen Zahl zählen und um jeden Wert erhöhen kann.

forJe mehr Arbeit wir mit der

-Schleife machen, desto wahrscheinlicher ist es, dass Sie etwas finden, das die Leistung optimieren kann. Allerdings wurden vorerst die Grundlagen von for-Schleifen behandelt und die fortgeschrittenen Techniken würden den Rahmen dieses Artikels etwas sprengen. 🎜

foreach 循环

foreach 循环与 for 循环类似,因为它们迭代数据集,但它们是按顺序执行的。这意味着没有简单的方法可以迭代列表中的每一项(例如两个项目)(例如,可以使用 $i + 2 in for 循环)。

这种类型的循环可以说是最具可读性的。对于我们的示例,假设我们有一个数组,并且数据数组包含以下名称:Alpha、Bravo、Charlie、Delta、Echo 和 Foxtrot。数组的名称存储在名为 $names 的变量中。

在这种情况下,我们可以设置一个 foreach 循环来迭代名称并将每个名称显示在屏幕上,如下所示:

$names = array( 'Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot' );
foreach ( $names as $name ) {
    echo $name;
}

设置非常简单,不是吗?

正如我们在上一节中分享了一种读取初始 for 循环的方法一样,您可以通过以下方式读取 foreach 循环:

对于名称集合中的每个名称,将其显示在屏幕上。

或者,也许更一般地说:

对于集合中的每个元素,将其显示在屏幕上。

还有什么吗?

foreach 循环还有另一个方面,我们可能会在本系列后面更详细地介绍,但主要思想是,如果您熟悉关联数组,即数组使用键进行索引并且具有关联值,您可以设置 foreach 循环来检索循环每次迭代的每个键和值。

例如,假设我们有以下关联数组:

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

当使用这样的关联数组时,您还可以设置一个 foreach 循环,如下所示:

foreach ( $heroes as $type => $name ) {
    echo $name . ' is a ' . $type;
}

这将导致输出读取诸如“超人是外星人”之类的内容,因为“超人”是值,“外星人”是他的类型(或他的键)。

此循环的更通用形式如下:

foreach ( $collection as $key => value ) {
    // Work goes here
}

没什么特别复杂的。

while 循环

介绍了 for 循环的变体后,是时候将我们的注意力转向 while 循环了,其中有两种变体(尽管它们的名称不同:while 循环和 do 循环),但它们只有很小的区别。

但是在我们了解它们有何不同之前,我们先来看看 while 循环,它的基本格式、如何使用它以及它与之前的 for 循环。

首先,while循环的基本格式如下:

while ( condition ) {
    // do work
}

请注意,此循环与之前的循环不同,它接受条件作为初始语句的一部分(这就是我们在上一篇文章中介绍条件的原因)。

循环的工作原理是首先检查条件是否为真,执行循环体中的代码块,然后再次检查条件。这意味着 while 循环可以执行任何工作单元,只要指定的条件计算结果为 true。

所以,当然,您可以迭代数字列表,运行数据集合,但您也可以在布尔值仍然为 true 的情况下执行某些操作。一旦标志达到 false,则 while 循环将终止。

让我们看一个从数组中弹出元素的示例。假设初始数组有 100 个元素,我们将一直这样做,直到数组剩下 50 个元素:

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

这里,条件将继续评估为 true,直到 $elements 数组中的项目数减少到 50 项。

正如我们对之前的循环所做的那样,这是读取 while 循环的一种方法:

当这个条件成立时,执行以下代码。

当然,代码看起来就是这样,不是吗?

do 循环

最后,do 循环几乎完全类似于 while 循环,只不过在检查条件之前至少会迭代一次。

在看示例之前,先介绍一下 do 循环的基本结构:

do {
    // do work
} while ( condition );

比较清楚,对吧?

因此,让我们设置一个非常基本的示例,其中创建一个数组并仅用偶数填充它。为此,我们需要:

  • 保存数字的数组
  • 一个变量,用于保存我们迭代前 100 个偶数的次数

话虽如此,我们可以将代码设置为如下所示:

$i = 1;
$even_numbers = array();

do {

    if ( 0 === ( $i % 2 ) ) {
        $even_numbers[] = $i;
    }
    
    $i++;

} while ( $i <= 100 );

最后,与其余循环一样,您可以通过以下方式读取这些类型的循环:

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

Sonst noch etwas?

Wenn es um do Schleifen geht und Sie eine Sammlung verwenden, müssen Sie vor der Verarbeitung sicherstellen, dass die Sammlung nicht leer ist, da sie den Code im Schleifenblock ausführt, bevor überprüft wird, ob die Bedingung wahr ist. Dies kann zu Fehlern führen, wenn Sie versuchen, einen leeren Datensatz zu verarbeiten.

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

Verwenden Sie eine -Bedingung in einer Schleife nur, um die Anzahl der auszuführenden Ausführungen anzugeben, wenn Sie über einen Datensatz verfügen oder wenn Sie eine Prozedur ausführen, von der Sie wissen do, dass sie vor der Überprüfung mindestens einmal ausgeführt werden muss.

Was kommt als nächstes?

Damit haben wir alles dargelegt, was Sie tun müssen, um mit der Diskussion von Funktionen, Eigenschaften, Bereichen und anderen grundlegenden Aspekten der objektorientierten Programmierung zu beginnen.

Für diejenigen unter Ihnen, die der Meinung sind, dass diese Serie einige der Grundlagen der PHP-Programmierung mehr oder weniger abgedeckt hat, werden wir im nächsten Artikel mit etwas fortgeschrittenerem Terrain beginnen.

Das obige ist der detaillierte Inhalt vonEin tiefer Einblick in die objektorientierte Programmierung in WordPress: Kontrollstrukturen II. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn