Hallo Community,
ich habe ein kleines Problem. Ich fange gerade erst so richtig mit PHP an. Ich bin dabei folgendes zu realisieren:
Eine Datei wird aufgerufen und diese startet eine Class. In dieser Class kann über c->addInstanz() eine neue (weitere) Klasse erzeugt werden. Hier der Code:
Alles anzeigen
Ich rufe also diese Class auf und weise diese an, eine neue zu erzeugen.
Ich kann wunderbar auf die Objekte in der user-class zugreifen ($c->user->foobar() etc). Jedoch wenn ich innerhalb der user-class die Debug-Funktion nutzen will, klappt das nicht. Aufbau der user-class:
Der Aufruf: $c->user->foobar() funktioniert, aber wenn ich $c->getDebug() ausführe, erhalte ich nur Debug-Nachrichten aus der construct-class.
Mein Problem ist also die Kommunikation der Classen untereinander. Da ich in Zukunft auch eine Datenbank-Class hinzufügen will, die eventuell auf Informationen aus der user-class zurückgreifen soll, weiß ich schon jetzt nicht, wie ich das anstelle, dass ich aus allen Classes in alle Classes kommunizieren kann.
Ich hatte folgende Idee:
Alles anzeigen
Dafür müsste ich aber schon jetzt alle Classes kennen, die ich irgendwann mal erzeugen würde. Und selbst dann bin ich mir über den Aufbau noch nicht so sicher, da ich nicht weiß, ob dann ein $this->db->foobar() in der user-class funktioniert.
Wenn jemand nen Tipp hat, wie ich das umsetzte, wäre ich sehr dankbar.
Danke & Grüße
meme
ich habe ein kleines Problem. Ich fange gerade erst so richtig mit PHP an. Ich bin dabei folgendes zu realisieren:
Eine Datei wird aufgerufen und diese startet eine Class. In dieser Class kann über c->addInstanz() eine neue (weitere) Klasse erzeugt werden. Hier der Code:
Quellcode
- class construct {
- var $debug = array();
- public function createInstanz($class){
- if(file_exists('libary/class/' . $class . '.php')){
- self::addDebug($class.' included and started.');
- $this->{$class} = new $class;
- }else{
- self::addDebug($class.'-class not found.');
- }
- }
- private function addDebug($status){
- $this->debug[] = $status;
- var_dump($this->debug);
- }
- public function getDebug($format = 'Notice: <strong>%s</strong> <br />'){
- var_dump($this->debug);
- foreach($this->debug AS $message){
- printf($format, $message);
- }
- }
- }
- $c = new construct;
Ich rufe also diese Class auf und weise diese an, eine neue zu erzeugen.
Ich kann wunderbar auf die Objekte in der user-class zugreifen ($c->user->foobar() etc). Jedoch wenn ich innerhalb der user-class die Debug-Funktion nutzen will, klappt das nicht. Aufbau der user-class:
Der Aufruf: $c->user->foobar() funktioniert, aber wenn ich $c->getDebug() ausführe, erhalte ich nur Debug-Nachrichten aus der construct-class.
Mein Problem ist also die Kommunikation der Classen untereinander. Da ich in Zukunft auch eine Datenbank-Class hinzufügen will, die eventuell auf Informationen aus der user-class zurückgreifen soll, weiß ich schon jetzt nicht, wie ich das anstelle, dass ich aus allen Classes in alle Classes kommunizieren kann.
Ich hatte folgende Idee:
Quellcode
Dafür müsste ich aber schon jetzt alle Classes kennen, die ich irgendwann mal erzeugen würde. Und selbst dann bin ich mir über den Aufbau noch nicht so sicher, da ich nicht weiß, ob dann ein $this->db->foobar() in der user-class funktioniert.
Wenn jemand nen Tipp hat, wie ich das umsetzte, wäre ich sehr dankbar.
Danke & Grüße
meme