dedlfix: In nested class auf übergeordnete Klasse zugreifen

Beitrag lesen

echo $begrüßung;

Die UKs sind im Prinzip Verfeinerungen von SK.

Im Grunde sollen also die UKs Plugin-Handler darstellen. Meiner meinung nach sollte deren Aufgabe nur sein, die Plugins passend durch die Gegend zu wirbeln, ihnen Aufgaben geben und deren Ergebnis entgegenzunehmen. Ihre Aufgabe sollte es jedoch nicht sein, dem Plugin selbst Basisfunktionalität zu bieten. Mir scheint, dass du nicht genügend spezialisierst.

$this->getPlugins($this);
Mit -> ruft man Methoden dynamisch auf. Statische Aufrufe gehen über klassenname::methodenname(…). Bei $this->getPlugins($this); handelt es sich um einen dynamischen Aufruf und es ist überflüssig, $this zu übergeben, denn innerhalb von getPlugins zeigt $this auf dein $uk1.
Nein, genau das geht leider nicht, weil die statische Methode ja instanzenlos aufgerufen wird. Deswegen kann dort kein Zeiger vorhanden sein.

Du hast aber keinen statischen sondern einen dynamischen Aufruf notiert. Statisch sähe so aus:

self::getPlugins($this);

Warum muss ein Plugin auf einen Plugin-Handler zugreifen? [...]
Ok, ich weiß nicht, ob ich Dich richtig verstehe. Man könnte natürlich auch bei Methodenaufrufen der eingeschachtelten Klasse jeweils einen Zeiger auf eine Instanz einer anderen Klasse mit übergeben, damit es dessen Methoden nutzen kann.

Warum muss ein Plugin die Methoden eines Plugin-Handlers nutzen? Der Plugin-Handler ist keine Basis für Plugins selbst. Grundlegende Plugin-Funktionalität sollte eine Plugin-Superklasse, oder gegebenenfalls eine auf eine bestimmte Stöpsel-Stelle spezialisierte Superklasse bereitstellen.

Das wäre zwar auch eine Möglichkeit, aber ich denke, so wie es jetzt ist, mit einmaliger Übergabe bei Instanzierung ist es für meine Zwecke einfacher.

Vielleicht derzeit. Plane lieber richtig. Aber gut, am besten lernt man aus selbst gemachten Fehlern :-)

Hier brech ich erstmal ab, weil ich weg muss. Zum Rest äußer ich mich später.

echo "$verabschiedung $name";