Wird WordPress vollständig OOP?


15

Gibt es irgendwelche Informationen darüber, dass WordPress in zukünftigen Versionen vollständig OOP wird?

Antworten:


17

Ich kann mit ungefähr 99,9999% iger Sicherheit sagen, dass WordPress in der zukünftigen Version niemals ganz OOP werden wird, nicht zuletzt, dass das Thema immer wieder auf der Liste der WP-Hacker auftaucht und die Mitglieder des Kernteams kein Interesse daran bekundet haben dies zu tun.

Wenn ich mir meine persönlichen Erfahrungen mit dem Programmieren und Unterrichten von OOP ab 1990 anschaue, stimme ich dem Kernteam zu und denke, dass eine vollständige OOP ein Fehler wäre. Obwohl ich einmal ein OOP-Fanatiker war und dachte, OOP sei ein Allheilmittel, bin ich seitdem zu der Überzeugung gelangt, dass es in einigen Kontexten seinen Wert hat, in anderen jedoch im Weg steht.

Eines der größten Probleme, das ich bei OOP festgestellt habe, ist, dass der Entwickler gezwungen ist, die Struktur einzubacken, lange bevor der Entwickler tatsächlich versteht, wie diese Struktur aussehen sollte, was dann zu dem fragilen Problem der Basisklasse führt .

Natürlich macht OOP für ausgewählte Aspekte von WordPress sehr viel Sinn, und wenn Sie sich mit Core befassen, werden Sie solche Klassen finden. Widget, List_Tables (in 3.1) usw.

An diesem Punkt bin ich froh, mit WordPress in einem größtenteils nicht-OOP Paradigma zu arbeiten und denke, wenn es reines OOP gewesen wäre, hätte WordPress niemals das Folgende erreicht. Warum? Weil OOP die Messlatte für angehende WordPress-Themes und Plugin-Entwickler höher gelegt hätte und wahrscheinlich zu einer Anwendung geführt hätte, die nicht flexibel genug gewesen wäre, um sich zu entwickeln, da das Kernteam in der Vergangenheit mehr über die Bedürfnisse seiner Benutzer erfahren hätte 6 Jahre.

FWIW.


7
Aber Sie müssen zustimmen, dass es viel einfacher wäre zu verstehen, wie alles dort funktioniert, wenn Wordpress vollständig OOP wäre. Für einen Entwickler spart es Zeit.
Eugene

2
@Eugene - dem stimme ich eigentlich gar nicht zu. Ich habe einmal geglaubt, dass OOP in allen Fällen ein besserer Weg ist, aber ich glaube das nicht mehr. Meine Vermutung ist, dass Sie Schwierigkeiten haben, WordPress zu verstehen, weil es kein reines OOP ist, weil Sie mehr auf OOP eingestellt sind. Aber als Beispiel habe ich kürzlich versucht, CodeIgnitor zu verstehen, und ich war überwältigt von all seiner OOP-Komplexität, während ich finde, dass WordPress extrem einfach zu verstehen ist. In Analogie kann ich leicht Englisch verstehen; Französisch, nicht so sehr. Einfacher gesagt, es ist das, was Sie wissen.
MikeSchinkel

1
@Eugene: Ich stimme nicht zu, dass es einfacher ist, einen OOP-Code zu verstehen. Für jemanden, der sich in OOP entwickelt, ja, aber für mich zum Beispiel mit klassischem ANSI C, nicht wirklich.
Petermolnar

1
Okei. Ich habs. OOP bab, Wordpress-Stil gut. :) @MikeSchinkel Yep. Ich benutze beide Werkzeuge in meiner Arbeit. Wenn Sie sie vorschlagen, werde ich es noch einmal versuchen. Danke für die Hilfe an alle.
Eugene

2
Ich freue mich das zu hören. OOP wäre kein geeigneter Pfad für WordPress.
Ciprian,

4

Viele WP-Komponenten werden mit jedem neuen Release in OOP-Code umgeschrieben, und neue Komponenten nutzen diesen Code (zum Beispiel das WP_CustomizerDing). Wenn Sie jedoch fragen, ob WP seine Architektur in eine vollständig objektorientierte ändern soll, gibt es derzeit keine Informationen, die auf eine solche hindeuten.

Ich würde nicht so weit gehen zu sagen, dass es niemals passieren wird, aber es ist unwahrscheinlich, dass es in naher Zukunft passieren wird, und wahrscheinlich nicht wegen des "Basisklasse" -Problems :)

Erstens hat die Verwendung von Prozedurcode über OOP für eine CMS-Anwendung wie WordPress nur Nachteile, da solche Apps durch Plugins erweitert werden sollen. Das Einfügen einer Mischung aus Funktionen und globalen Variablen macht dies überhaupt nicht einfacher. Zu der Zeit, als WP geschrieben wurde, konnte niemand vorhersagen, was WP werden würde, und viele schlechte Entscheidungen wurden getroffen. Jetzt ist es ziemlich schwer nachzuholen, da die meisten Plugins und Themes nicht mehr richtig funktionieren. Das Implementieren einer riesigen Kompatibilitätsebene, um dies zu vermeiden, würde WP wahrscheinlich verlangsamen und die Entwickler noch mehr verwirren. Denken Sie auch über den Zweck nach - das Leben der Entwickler auf Kosten der Benutzer zu erleichtern?

Wenn es hilft - eine sehr alte Diskussion über wp-Hacker, die aber immer noch relevant für dieses Thema ist, und eine vorgeschlagene Idee der Community, die jetzt als "Plugin-Territorium" markiert ist. Ich habe in letzter Zeit keine anderen Aktivitäten in dieser Richtung bemerkt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.