✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Über unveränderliche Werte in WordPress-Plugins

4

Wenn Sie sich mit objektorientierter Programmierung beschäftigt – oder auch nur gelesen – haben, dann sind Sie wahrscheinlich auf die Idee der Unveränderlichkeit gestoßen. Das ist die Idee, dass etwas unveränderlich ist.

Manchmal können Sie unveränderliche Werte haben, und manchmal können Sie unveränderliche Objekte haben (zumindest nachdem sie instanziiert wurden).

Das Gegenteil von unveränderlich (aber er war sowieso meine Lieblings-Ninja-Schildkröte).

Die Sache ist die, je mehr ich mit objektorientiertem Code arbeite, desto weniger neige ich dazu, mit unveränderlichen Variablen zu arbeiten. Sicher, ich werde Konstanten verwenden, wie sie in einer Konfigurationsdatei definiert sind, aber Sie werden wahrscheinlich nicht feststellen, dass ich Werte innerhalb einer Klasse als const speichere .

Das sagt wahrscheinlich etwas über mich und meine Fähigkeiten aus, aber es stimmt. Zum Glück sind Code-Reviews großartig, um Ihnen dabei zu helfen, Möglichkeiten zu erkennen, wo Sie Strategien nutzen können, die Sie normalerweise nicht tun würden. Und das ist bei unveränderlichen Werten in WordPress-Plugins der Fall.

Dies ist natürlich eines der Dinge, auf die mich ein Freund aufmerksam gemacht hat, als er meinen Code überprüfte.

Bei der Arbeit mit WordPress sind viele von uns wahrscheinlich mit functions.php und wp-config.php und der Rolle, die sie in der WordPress-Kernanwendung spielen, vertraut.

Ja, es gibt Zeiten, in denen Dinge in die wp-config.php gehören, und ja, es gibt Zeiten, in denen Dinge in die functions.php gehören, aber manchmal denke ich, dass diese bestimmte Datei mit viel zu vielen Funktionen, Werten usw. missbraucht wird .

Aber was ist mit Plugins? Was ist speziell mit objektorientierten Plugins? Angenommen, Sie arbeiten mit einer API, die einen API-Schlüssel erfordert, damit Sie mit einer kostenlosen Version der Anwendung nicht an eine bestimmte Ratenbegrenzung stoßen.

Normalerweise speichere ich den Wert in der Haupt-Plugin-Klasse als Instanzvariable, die herumgereicht werden kann, oder vielleicht befindet er sich in einer Containerklasse, auf die ich verweisen und deren get – Methode verwenden kann.

Aber was ist mit der Verwendung einer const -Eigenschaft in einer Klasse und der anschließenden Weitergabe per Setter-Injektion?

Nehmen wir zum Beispiel an, es gibt eine Plugin-Klasse, die auf eine Hilfsklasse angewiesen ist, um etwas auf dem Bildschirm darzustellen. Der API-Schlüssel kann in dieser Klasse definiert und dann bei Bedarf an den Helfer übergeben werden :

Als Nächstes kann die Hilfsklasse die beliebige API (ich nenne sie Canvas, da wir hypothetisch etwas sein werden) mithilfe ihrer URL aufrufen und den API-Schlüssel als Teil der Abfragezeichenfolge übergeben.

Diesen Weg:

  • Es gibt einen einzigen Ort, an dem der Wert aufbewahrt wird,
  • es gibt einen beschreibenden Namen, der angibt, was es speichert,
  • es kann mit minimaler Abhängigkeit an andere Klassen weitergegeben werden,
  • die anderen Klassen können auf sie als lokale Variablen oder als Instanzvariablen verweisen (je nachdem, wie sie herumgereicht werden).

Sicher, es gibt andere Möglichkeiten, wie diese Werte beibehalten werden können (wieder mit der Verwendung von functions.php oder ähnlichem).

Aber wenn Sie mit objektorientierter Programmierung arbeiten und mit unveränderlichen Werten in einem WordPress-Plugin arbeiten möchten, wäre es nicht sinnvoll, es im Kontext der Klassen zu halten, aus denen das Plugin besteht?

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen