Japp der Titel beschreibt so ungefähr das was in meinem Kopf vorgeht. Ich versuche das "Problem" mal zu beschreiben. Also es ist mehr ein Verständnis-Problem. Ich habe zwei Klassen. Nennen wir diese mal Class A und Class B...
Class A kann Daten speichern und diese zurückgeben.
Class B kann erstmal nix.
Von beiden Klassen wird eine Instanz erzeugt und ich übergebe Class B in der initClass() die Instanz von Class A.
Class B hat nun mehrere Methoden die alle mit der übergebenen Instanz arbeiten und dort Daten reinschreiben.
Jetzt kommt mein Verständnisproblem (sorry wenn das evtl. eine blöde Frage ist).
Die initClass() ruft 2 Methoden von Class B auf die alle etwas mit der Instanz von Class A machen. Zuletzt wird die Instanz von $A "returnt". Wie kann es sein das die Daten aus allen Methoden verfügbar sind?
DANKE schon mal im voraus.
BOAH ja geb ich zu, verwirrend geschrieben ich häng mal ein Beispiel an:
PHP-Code:
<?php
class A {
private $data;
public function write($str) {
$this->data .= $str.PHP_EOL;
// end function
}
public function display() {
print $this->data;
// end function
}
// end class
}
class B {
private $a;
public function initClass($A) {
$this->a = $A;
$A->write('__construct von B');
// Ich hätte erwartet das nur "__construct von B" ausgegeben wird
// Warum habe ich von jeder Klasse und Methode aus Zugriff auf alle Werte?
$this->StepA($A);
$this->StepB($A);
return $A;
// end function
}
private function StepA($A) {
$A->write('StepA');
// end function
}
private function StepB($A) {
$this->a->write('StepB');
$C = new C($A);
// end function
}
// end class
}
class C {
public function __construct($A) {
$A->write('StepC');
// end function
}
// end class
}
$A = new A();
$B = new B();
$return = $B->initClass($A);
$return->display();
/**
* display() erzeugt nun folgende Ausgabe
*
* __construct von B
* StepA
* StepB
* StepC
*/