Webstatt.org - Community seit 2006 - 2012 (2024?)

OOP: Frage zu parent

Avatar user-162
16.05.2007 21:58

Wenn ich in PHP ein folgendes Konstruckt habe:

class A {
public $bla = "Hallo";
public $b;
public function __construct() {
$this->b = new B();
}
}
class B {
public function __construct() {
// ...
}
}

$a = new A();

Und ich jetzt von der Klasse B aus in der Funktion auf das A-Object zugreifen möchte, dass das B-Object erschaffen hat, wie ist dann der Syntax? Zb wenn ich in der __construct Funktion von B auf die Variable $bla vom A zugreifen möchte?

Ich habe bisher nur die Möglichkeiten gefunden beim Erstellen eines B-Objectes mit $this das aktuelle A-Object als Parameter mitzuliefern und über extends die Variable zu übergeben. Gibt es auch eine direkte Methode ohne extend oder $this???

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
Avatar user-271
16.05.2007 23:52

warum willst du darauf zugreifen? macht in meinen augen immo keinen sinn?
weil.....welches A-Object meinst du?

#!/bin/bash
traurig){ neutral:& };:
user-343
17.05.2007 10:22

Mh... Ich gib für Subklassen immer als ersten Parameter eine Referenz auf das Mutterobjekt weiter.

class A {
public $bla = "Hallo";
public $b;
public function __construct() {
$this->b = new B($this);
}
}
class B {
public function __construct($parent) {
// ...
print $parent->blah;
}
}

$a = new A();


Du musst einfach darauf achten, dass in PHP4 das $this so geklont wird, und du &$this übergeben musst...
Eine andere Möglichkeit kenn ich nicht.

Avatar user-162
17.05.2007 10:53

Nun ja es macht nicht wirklich Sinn, aber für diesen bestimmten Code brauch ich es (weil ich zu faul bin das Ganze umzuschreibenfrech)
Aber ich werde es wohl mit $this als Parameter tun müssen...

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine