Funktion in Funktion?
Eric Teubert
- php
0 Julian von Mendel0 dedlfix0 Tom
Also, ich habe eine Funktionsbibliothek und dort möchte ich auch Funktionen innerhalb von Funktionen verwenden - geht das? Weil das macht bei mir derzeit Probleme. Hier mal ein Beispiel:
Definition function 1{}
Definition function 2{}
Definition function 3{}
Definition function 4{}
Definition function 5{
Aufruf Funktion 2
Aufruf Funktion 3
Restcode
}
MfG
Eric
Hallo,
schau dir mal Klassen an: http://tut.php-q.net/klassen.html
Schöne Grüße
Julian
schau dir mal Klassen an: http://tut.php-q.net/klassen.html
Hm, war das jetzt ein
"nein, geht nicht"
oder eher ein
"hmja, würde schon irgendwie gehen aber Objektorientierte Programmierung sollte man sich sowieso schnellstmöglich aneignen"? :)
Naja gut, les ichs mir ebend mal durch, irgendwann wollte ich eh damit anfangen - aber würde trotzdem gern wissen, ob es eine "Nur-Funktion" - Übergangslösung gibt. Auf jeden Fall erstmal Danke für den Link.
MfG
Eric
Also, ich habe eine Funktionsbibliothek und dort möchte ich auch Funktionen innerhalb von Funktionen verwenden - geht das? Weil das macht bei mir derzeit Probleme. Hier mal ein Beispiel:
Meinst du jetz konkret, dass du
(1) andere Funktionen innerhalb einer Funktion aufrufen willst, oder
(2) dass du sie dort erstellen willst?
1:
function foo() {
return 42;
}
function bar() {
echo foo();
}
bar();
2:
function bar() {
if (!function_exists('foo')) {
function foo() {
return 42;
}
}
echo foo();
}
bar();
foo();
foo() ist nicht, wie angenommen werden könnte, nur innerhalb von bar lokal verfügbar. Es kann, nachdem einmal bar() aufgerufen wurde, auch global aufgerufen werden.
(1) andere Funktionen innerhalb einer Funktion aufrufen willst,
1:
function foo() {
return 42;
}function bar() {
echo foo();
}bar();
Eher diese Variante. Ich benutze foo() allerdings nicht nur in der anderen Funktion, sondern auch einzeln.
Ich werde mal schaun, ob ich damit etwas anfangen kann, auf jeden Fall erstmal Danke fürs Antworten.
MfG
Eric
Hello,
php4 verfügt nur über eine Namensraumebene, das bedeutet, dass es keine privaten Funktionen von funktionen gibt. Es ist sogar NICHT ZULÄSSIG, innerhalb von Funktionen Unterfunktionen zu definieren. Wenn man es trotzden tut, werden diese Sub-Funktionen bei jedem Aufruf der Hauptfunktion definiert, was dann zu einem redifinition error führt. Es gelten hier allerdings dieselben Regeln für bedingte Definition, wie in der Hauptebene.
Erst das OOP-Modell von PHP5 erlaubt es, auch Sibfunktionen /Methoden zu deklarieren und zu definieren.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom