Erst einmal zum Server. Der Webserver (Apache) wurde mit dem LAMPP Paket installiert und läuft auf einem SuSE Enterprise Server. Es wird lediglich Apache mit PHP benötigt. Statt MySQL ist ein seperater PostGres im Einsatz.
Das Problem dass sich mir hierbei stellt ist, dass ich keine Werte von meiner public function erhalte. Hiermal ein Beispiel:
index.php
require_once('class/core.class.php'); //Wird benötigt für den Verbindungsaufbau, läuft so wie es soll $core = new core; require_once('/opt/lampp/htdocs/pg/class/managment.class.php'); //Dies ist die class die Probleme bereitet $pgadmin = new pgadmin; $test = $pgadmin->getTables(); //Zugriff auf die public function in der managment.class.php echo $test; var_dump($test);
managment.class.php
class pgadmin { public function getTables() { include('/opt/lampp/htdocs/pg/configuration.php'); $core = new core; $sql = 'SQL Abfrage'; $i = 1; foreach($core->db->query($sql) as $row) { $tables[$i] = $row['tablename']; $i++; } $test = "test"; var_dump($tables); //Gibt erfolgreich das Ergebnis des Query aus return $test; //Sollte dem index.php den Wert übergeben } }
Wie im Code erwähnt, der var_dump() in der class gibt das Ergebnis aus, und es stimmt auch. In der index.php funktioniert allerdings weder die Ausgabe durch das echo, noch der var_dump() (Variable ist leer). Das die Variablen in der class und der index.php gleich heissen, macht offensichtlich keine Probleme, da es auch nicht funktioniert wenn ich verschiedene Variablen verwende.
Ich denke hier liegt irgendwo ein Konfigurationsfehler vor, da bei meiner früheren Arbeit mit XAMPP keine Probleme bestanden mit Übergabe der Parameter aus einer public function.
Danke vielmals im voraus
Erte
Edit: Hat sich erledigt, lag daran dass ich in der public function nochmal die core function aufgerufen habe. Habe das Problem damit gelöst dass ich die klasse pgadmin wie folgt definiert habe: "class pgadmin extends core".
Dieser Beitrag wurde von Erte bearbeitet: 19. Juli 2011 - 15:25