Eric Teubert: Funktion in Funktion?

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

  1. Hallo,

    schau dir mal Klassen an: http://tut.php-q.net/klassen.html

    Schöne Grüße
    Julian

    --
    "Hex is for sissies. Real men use binary. And the most hardcore types use only z
    eros - uppercase zeros and lowercase zeros." - Tomasz Sowinski
    1. 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

  2. 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. (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

  3. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau