Rocksolid Light

groups  faq  privacy  How to post  login

Message-ID:  

You should go home.


rocksolid / de.comp.lang.php / Re: Referenz auf "Eltern"-Klasseninstanz

SubjectAuthor
* Referenz auf "Eltern"-KlasseninstanzSebastian Suchanek
+- Re: Referenz auf "Eltern"-KlasseninstanzStefan Froehlich
`* Re: Referenz auf "Eltern"-KlasseninstanzArno Welzel
 `* Re: Referenz auf "Eltern"-KlasseninstanzStefan Froehlich
  `- Re: Referenz auf "Eltern"-KlasseninstanzArno Welzel

1
Subject: Referenz auf "Eltern"-Klasseninstanz
From: Sebastian Suchanek
Newsgroups: de.comp.lang.php
Date: Sat, 1 Jul 2023 19:27 UTC
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: sebastia...@gmx.de (Sebastian Suchanek)
Newsgroups: de.comp.lang.php
Subject: Referenz auf "Eltern"-Klasseninstanz
Date: Sat, 01 Jul 2023 21:27:13 +0200
Lines: 34
Message-ID: <u7q5nh.tcg.1@msgid.suchanek.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: individual.net 97mRsm2P+paJyVMdb3LjagwfOmMtoYeRQBzY2Cogj408hk5uE=
Cancel-Lock: sha1:ax74mSbn633g4Q9wcpBH4RmOtPc=
User-Agent: Xnews/2005.10.18 Mime-proxy/1.4.c.1 (Win32) Hamster/2.1.0.11
X-Face: //SzobV}i|*=Ael([X.`2mqbxR)[{/\,EZ%&hMI`Hh:)K3g>hCB/hs\3(,v%=vu|Aug"0>Uql/*1KlD^BRTd@D2&3p~kY$/7^,{N<HC`jeymVYHgBa4v`^0;%Ep47Zc3.rUTNMK}3]MO0JRp8gB!t"?K=twH=(Qa>{w<v\*.o~[Kd."gt&vGqX7M1%{tHQAUsbfR<Q?aC|<w_FGpQ~D4{/HtI\BU5H~(5XXy(7g@~^q73-gERW!XR[g-Imghu.DB4R^_%Z7`z-AE~B\g\!#
X-KorrNews: Used
X-Complaints: webmaster@suchanek.de
View all headers

Hallo NG!

Gegeben sei folgende - stark vereinfachte - Konstellation:

---------------------------- 8< ----------------------------

<?php
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"
(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?

TIA,

Sebastian

Subject: Re: Referenz auf "Eltern"-Klasseninstanz
From: Stefan Froehlich
Newsgroups: de.comp.lang.php
Date: Sat, 1 Jul 2023 20:09 UTC
References: 1
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: Stefan+U...@Froehlich.Priv.at (Stefan Froehlich)
Newsgroups: de.comp.lang.php
Subject: Re: Referenz auf "Eltern"-Klasseninstanz
Date: 1 Jul 2023 20:09:46 GMT
Lines: 49
Message-ID: <ft64a08716i165f30n3e8%sfroehli@Froehlich.Priv.at>
References: <u7q5nh.tcg.1@msgid.suchanek.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: individual.net /a4C7goGQ+NkK9e7c1viXgyqXE+n5DnYrshEhhnLfcAHYYxBM=
X-Orig-Path: not-for-mail
Cancel-Lock: sha1:sZbuQDlDLTzlW5QQfXQaKq89RWs=
X-Blattlinie: dieser Artikel repraesentiert meine persoenliche Meinung
X-Medieninhaber: Stefan Froehlich
X-Verleger: Stefan Froehlich
X-Verlagsort: Wien
User-Agent: tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.1.0-9-amd64 (x86_64))
View all headers

On Sat, 01 Jul 2023 21:27:13 Sebastian Suchanek wrote:
> ---------------------------- 8< ----------------------------
>
> <?php
> 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"
> (nicht der Klasse "ClassB"!) aufrufen?

Nein, natürlich nicht. myClassA könnte ja auch in myClassC oder
völlig eigenständig verwendet werden - von innerhalb des Objekt ist
das nicht feststellbar.

> 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?

Das wäre eine Möglichkeit.

Alternativ böte sich auch noch an, das Objektmodell auf seine
Eignung für den gegebenen Sachverhalt zu überprüfen. Ohne nähere
Informationen maße ich mir da kein Urteil an, aber es besteht
zumindestens ein Anfangsverdacht, dass sich das auch schöner lösen
lassen sollte.

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan. Für neue Eumel in wichtigen Welten!
(Sloganizer)

Subject: Re: Referenz auf "Eltern"-Klasseninstanz
From: Arno Welzel
Newsgroups: de.comp.lang.php
Date: Mon, 3 Jul 2023 00:35 UTC
References: 1
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: use...@arnowelzel.de (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: <kgejeeFtajvU3@mid.individual.net>
References: <u7q5nh.tcg.1@msgid.suchanek.de>
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: <u7q5nh.tcg.1@msgid.suchanek.de>
View all headers

Sebastian Suchanek, 2023-07-01 21:27:

> Gegeben sei folgende - stark vereinfachte - Konstellation:
>
> ---------------------------- 8< ----------------------------
>
> <?php
> 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:

<https://www.php.net/manual/de/language.oop5.inheritance.php>

> (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

Subject: Re: Referenz auf "Eltern"-Klasseninstanz
From: Stefan Froehlich
Newsgroups: de.comp.lang.php
Date: Mon, 3 Jul 2023 07:23 UTC
References: 1 2
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: Stefan+U...@Froehlich.Priv.at (Stefan Froehlich)
Newsgroups: de.comp.lang.php
Subject: Re: Referenz auf "Eltern"-Klasseninstanz
Date: 3 Jul 2023 07:23:42 GMT
Lines: 54
Message-ID: <9t64a27728i1adb16n3e8%sfroehli@Froehlich.Priv.at>
References: <u7q5nh.tcg.1@msgid.suchanek.de> <kgejeeFtajvU3@mid.individual.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: individual.net Pm9GpNWa7dc3zmN9Cmmhwwnnr9Kt8MGMfiO5dC3l4/FOTMiEU=
X-Orig-Path: not-for-mail
Cancel-Lock: sha1:oikcwoFnUSMYvIVYqy5zbeJ5tdw=
X-Blattlinie: dieser Artikel repraesentiert meine persoenliche Meinung
X-Medieninhaber: Stefan Froehlich
X-Verleger: Stefan Froehlich
X-Verlagsort: Wien
User-Agent: tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.1.0-9-amd64 (x86_64))
View all headers

On Mon, 03 Jul 2023 02:35:26 Arno Welzel wrote:
> Sebastian Suchanek, 2023-07-01 21:27:
>> Gegeben sei folgende - stark vereinfachte - Konstellation:
>>
>> ---------------------------- 8< ----------------------------
>>
>> <?php
>> 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
> {
> }

Auch das wäre keine Eltern*instanz*, sondern eine Eltern*klasse*.

Sebastian möchte offensichtlich aus einem Objekt B heraus auf das
Objekt A zugreifen, in dem B als Instanzvariable enthalten ist. Man
könnte A schon mit Bauchweh als "Elterninstanz" bezeichnen, bloß tut
das keiner, weil sie für B (aus gutem Grund) nicht sichtbar ist.

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Spaß mit Stefan, standhaft und scheu!
(Sloganizer)

Subject: Re: Referenz auf "Eltern"-Klasseninstanz
From: Arno Welzel
Newsgroups: de.comp.lang.php
Date: Mon, 3 Jul 2023 13:48 UTC
References: 1 2 3
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: use...@arnowelzel.de (Arno Welzel)
Newsgroups: de.comp.lang.php
Subject: Re: Referenz auf "Eltern"-Klasseninstanz
Date: Mon, 3 Jul 2023 15:48:36 +0200
Lines: 56
Message-ID: <kgg1tkF5mehU3@mid.individual.net>
References: <u7q5nh.tcg.1@msgid.suchanek.de>
<kgejeeFtajvU3@mid.individual.net>
<9t64a27728i1adb16n3e8%sfroehli@Froehlich.Priv.at>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: individual.net f4xXVu4ODjb5/CpZr5vHAw14PHBjtcNCZCO31IzFEx9GIXI2MN
Cancel-Lock: sha1:POMGp+UY1T2HLqyuogIzdgaFP3w=
Content-Language: de-DE
In-Reply-To: <9t64a27728i1adb16n3e8%sfroehli@Froehlich.Priv.at>
View all headers

Stefan Froehlich, 2023-07-03 09:23:

> On Mon, 03 Jul 2023 02:35:26 Arno Welzel wrote:
>> Sebastian Suchanek, 2023-07-01 21:27:
>>> Gegeben sei folgende - stark vereinfachte - Konstellation:
>>>
>>> ---------------------------- 8< ----------------------------
>>>
>>> <?php
>>> 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
>> {
>> }
>
> Auch das wäre keine Eltern*instanz*, sondern eine Eltern*klasse*.

Ja, weil es nur sowas gibt. Eine Instanz kann nicht ein "Kind" haben,
sondern nur Member.

> Sebastian möchte offensichtlich aus einem Objekt B heraus auf das
> Objekt A zugreifen, in dem B als Instanzvariable enthalten ist. Man
> könnte A schon mit Bauchweh als "Elterninstanz" bezeichnen, bloß tut
> das keiner, weil sie für B (aus gutem Grund) nicht sichtbar ist.

Eben.

--
Arno Welzel
https://arnowelzel.de


rocksolid / de.comp.lang.php / Re: Referenz auf "Eltern"-Klasseninstanz

1
server_pubkey.txt

rocksolid light 0.9.12
clearnet tor