PHP5 - Vererbung: Aufrufen einer Methode der Oberklasse
-
Hi Community!
Oberklasse.php5
<?php abstract class Oberklasse { function __contruct($id, $table, $fields) { echo "Konstruktor<br/>"; } function test() { echo "Test<br/>"; } } ?>
Unterklasse.php5
<?php include("Oberklasse.php5"); class Unterklasse extends Oberklasse { public function __contruct($id = -1) { $fields = array("reg_timestamp", "reg_ip", "last_login", "passwd", "nachname", "vorname", "strasse_nr", "plz", "wohnort", "liefer_strasse_nr", "liefer_plz", "liefer_ort", "email", "telefon", "zahlungsart", "kommentar"); parent::__contruct($id, "kunden", $fields); } public function get($attribute) { parent::test(); } } ?>
test.php5
[...] <?php include($basedir . "includes/Unterklasse.php5"); $cur = new Unterklasse(1); $cur->get("vorname"); ?> [...]
Ich erhalte als Ausgabe immer:
Fatal error: Call to undefined method Oberklasse::test() in /pfad/includes/Unterklasse.php5 on line 14
Kann mir wer sagen, wo der Fehler liegt?
Vielen Dank im Voraus!
Konstantin
-
Hat keiner eine Ahnung voran das liegen könnte?
Hmm ... Dann werd ich es vielleicht noch mal in einem reinen PHP-Forum versuchen!?
Falls doch noch einer eine Idee hat, dann lasst es mich wissen. Wenn ich weiß woran es liegt, werde ich das hier schreiben.
Danke.
-
welche php version?
bei 5.0.3 klappt es bei mir.der code ansich ist nämlich korrekt.
vielleicht wird auch eine falsche "Oberklasse" inkludiert?
check das halt mal per get_class_methods()
-
Vielen Dank!
Ich war einfach zu doof, richtig zu inkludieren. In Unterklasse.php5 hätte es include/Oberklasse.php5 heißen müssen!
Und ganz nebenbei habe ich auch noch das s bei construct vergessen!
Konstantin