Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Arno Welzel Newsgroups: de.comp.lang.php Subject: Re: Referenz auf "Eltern"-Klasseninstanz Date: Mon, 3 Jul 2023 02:35:26 +0200 Lines: 58 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net x1cke+g1bt/6LKfAqx3d7wM4KYl/T3icIN4oSSNMtV2v24WY8f Cancel-Lock: sha1:daaWGhfVjKdoqg66fttpbQED2Gw= Content-Language: de-DE In-Reply-To: Xref: csiph.com de.comp.lang.php:4912 Sebastian Suchanek, 2023-07-01 21:27: > Gegeben sei folgende - stark vereinfachte - Konstellation: > > ---------------------------- 8< ---------------------------- > > class ClassA { > [...] > } > > class ClassB { > public function construct__ () { > $this->myClassA = new ClassA(); > } > } > > $myClassB = new ClassB(); > ?> > > ---------------------------- 8< ---------------------------- > > Kann ich halbwegs elegant von der Instanz "myClassA" aus > irgendwie Methoden der "Eltern"-Instanz "myClassB" Das ist *keine* "Eltern"-Instanz! ClassA wird einfach nur als *Member* von ClassB erzeugt. Wenn Du ClassA als "Eltern"-Instanz haben willst, wäre das sowas: class ClassA { } class ClassB extends ClassA { } Siehe auch: > (nicht der Klasse "ClassB"!) aufrufen? (Und wenn ja, wie?) Oder > muss ich mir hier irgendwelche Pointer- bzw. Handler-Konstrukte > basteln, die ich beim Aufrufen des Konstruktors von ClassA > übergeben und dann in einer Variable von ClassA bzw. myClassA > speichern muss? Es sind keine "Pointer-Konstrukte" sondern einfach nur die übliche Schreibweise, wenn man auf Member zugreift: $this->myClassA->methodeVonClassA(); -- Arno Welzel https://arnowelzel.de