MB: Wie Properties aus externen Klassen in Trait bekannt machen?

Beitrag lesen

moin,

Traits sind dazu da, in beliebige Klassen eingemixt zu werden. Darum sollen sie über ihren Nutzer nichts wissen.

ich weis 😕

Dieses Wissen kannst Du konkretisieren, wenn der Trait eine abstrakte Methode definiert.

ach stimmt! Das ist mir garnicht eingefallen! Besten Dank!

Was technisch geht, aber aus Sicht von Software Engineering keine gute Idee ist, ist das Verwenden von $this.

Das habe ich leidvoll erfahren.

Der Trait gilt als Teil der Klasse und kann deshalb auf allem herumturnen, was in $this zu finden ist, private oder nicht, egal ob aus dem Trait stammend oder der Hostklasse.

jepp

[...]. Aber ein Trait sollte keine unterschwelligen Annahmen treffen, dass die Hostklasse bestimmte Eigenschaften oder Methoden besitzt.

das ist genau mein ziel.

Versuche mal, ob Du mit abstract functions etwas erreichen kannst.

werde ich machen. hab einen sehr konkreten plan. Danke nochmals😀!!!

lgmb