In einer Klasse soll eine Funktion eine weitere Funktion aufrufen. Ich erhalte die Fehlermeldung: "Call to undefinded function: addcreateoptions()".
Die Frage stelle ich in Zusammenhang mit:
#63030
class tx_productfinder_pi1 extends tslib_pibase {
...
function main($content,$conf) {
...
}
function addTransports($selectId, $mode) {
...
$objResponse->addCreateOptions($selectId, $data);
}
function addCreateOptions($sSelectId, $options) {
...
}
}
Gruß,
Dirk
es kommt drauf an, wo sich deine funktion bemfindet.
ist diese in der selben klasse, wie die funktion, welche sie aufrufen soll, dann wird diese über $this angesprochen (beispiel: $this->meineFunktion() ).
ist die funktion in einer anderen klasse, musst du erst ein objekt erstellen:
$meinObj = new Klassenname();
natürlich muss dann diese php-datei, mit der jeweiligen klasse eingebunden werden (beispiel: require_once('/pfad/meineDatei.php'); ).
dann ist die funktion über das objekt ansprechbar:
$meinObj->meineFunktion();
dieses objekt, ist aber nur in jeder funktion in einer klasse bekannt, wenn du als speicherort eine klassenvariabel nutzt. das heißt direkt unter der klasse:
var $meinObj = ""; //variabel ist nun deklariert.
dann in einer funktion:
$this->meinObj = new Klassenname();
dann sprichst du funktionen so an:
$this->meinObj->meineFunktion();
ich hoffe es hilft!
p.s.: es würde helfen, würdest du ein wenig mehr code sichtbar machen und die ausgangslage genauer erklären.
lg, nick
Hallo Nick,
vielen Dank für Deine erläuternde Antwort!
Hier:
#63030
habe ich ebenfalls geschrieben und auch schon eine weiterhelfende Antwort bekommen. Der letzte Hinweis fehlt mir aber noch.
Und zwar der Aufruf der Funktion addScript() in addCreateOptions().
lg,
Dirk