Mailinglisten-Archive |
Clemens Gutweiler wrote:
> ist es irgendwie möglich aus einer untergeordneten Klasse auf eine
> übergeordnete zuzugreiffen?
>
bei Vererbungsbeziehungen geht das mit 'parent::...'
class foo {
function bar() {
return 1;
}
}
class bar extends foo {
function bar() {
return parent::bar();
}
}
> Also z.B. so:
>
> $foo->modules->bla = new irgendwas;
>
> class irgendwas {
> function blubb () {
> // Hier möchte ich auf $foo->bar(); zugreiffen, wie geht das?
> // geht nicht
> super::bar();
> }
> }
Hier ist die Beziehung eine völlig andere, du möchtest eine Besitzer-
Beziehung aufbauen
So etwas geht nur von Hand, z.B. über ein 'owner' Feld in dem
untergeordneten Objekt, das du mitführst.
Die Relation zwischen Objekten und ihren Member-Variablen ist in PHP
(und nicht nur hier) nicht eindeutig:
$irgendwas = new irgendwas;
$foo->modules->bla = &irgendwas;
$bar->modules->bla = &irgendwas;
Wer wäre in deinem Beispiel jetzt 'super'? $foo, $bar, beide oder
keiner?
Problem erkannt?
--
Hartmut Holzgraefe hartmut_(at)_six.de http://www.six.de +49-711-99091-77
php::bar PHP Wiki - Listenarchive