pl: Welches Entwurfsmuster steckt in Traits

Beitrag lesen

problematische Seite

PHP mischt den Trait in die Klasse ein, so dass die Trait-Methoden nachher wie native Methoden der Klasse genutzt werden können.

Das heißt, daß man innerhalb dieser Methoden die aufrufende Instanz zur Verfügung hat und damit auf

  • weitere Methoden dieser Instanz sowie
  • deren Eigenschaften zugreifen können sollte.

Leider habe ich gerade hierzu kein Beispiel gefunden.

In einer Sprache, wo Traits nicht Teil der Sprache sind und auch das Methodendictionary nicht zur Laufzeit manipulierbar ist, benötigt man Techniken wie Delegation und Injection, um sich zu behelfen.

Das ist so nicht richtig. Traits als Solche kann man auch mit älteren Perl- und PHP- Versionen wo Traits nicht Bestandteil der Sprache sind bauen.

Was das Entwurfsmuster betrifft. das muss wahrscheinlich erst erfunden werden 😉

MFG