Prinzip der einfachen Verantwortung und WP-classn

Ich arbeite mich immer noch durch OOP und solide Prinzipien. Es fällt mir schwer, viele new SomeClass(); ruft auf oder fügt sie zu einem Aktions-Hook hinzu ( add_action( 'init', array( 'SomeClass', 'get_instance' ) ) Fallbeispiel: Ich habe einen Posts-Controller, den ich verwende, um alles zu behandeln, was mit Posts zu tun hat: Erstelle, lösche, ändere seinen Status über Ajax usw. Ich würde denken, SRP würde verschiedene classn für Post-Erstellung / Modifikation, Ajax-Anfragen, etc. aufrufen. Gibt es eine bessere Möglichkeit, diese classn als new / add_action zu instanziieren? es wird eine übermäßige Anzahl von classn und classninstanziierungen geben und jemand hätte sich inzwischen etwas einfallen lassen. Bin ich verrückt?

Solutions Collecting From Web of "Prinzip der einfachen Verantwortung und WP-classn"

WordPress selbst ist nicht sehr objektorientiert – es hat Objekte (wie zum Beispiel WP_User), aber die meisten Interaktionen mit der core-API finden durch einfache functionsaufrufe statt. Es hängt auch stark vom globalen Staat ab, obwohl es eine gute Arbeit leistet, dies durch die Abstraktionen von Aktionen und Filtern zu bewältigen.

Meiner Erfahrung nach gibt es einen Sweet Spot zwischen dem Festhalten von Vanilla WP Function Calls und Building Classes. Gehen Sie zu weit in Richtung OO und Sie werden am Ende Dinge neu implementieren, die bereits ganz bequem sind. Dies ist mit ziemlicher Sicherheit der Weg, den Sie gehen, wenn Sie eine neue class für die Post-Erstellung instanziieren.

Aber wenn Sie wirklich etwas anderes tun – eine API-Schnittstelle, ein kompliziertes Kontosystem, Zahlungen usw. – dann sind Ihre Kontaktpunkte mit WP minimal und Sie können so solide sein, wie Sie wollen, im Bereich des Problems, das Sie sind klarkommen mit.