James: Funktion in einer Funktion aufrufen?

Hallo Freunde,

zurzeit machen wir im Studium verschärft php und mysql

Mein Dozent meint, dass es nicht sauber wäre,in einer selbst geschriebenen PHP-Funktion eine weitere selbst geschriebene aufzurufen.

Meine Frage: geht das echt nicht, und wenn ja warum oder ist das nur seine Philosophie?
Wenn es geht, kann ich dann in der inneren Funktion mit global eine Variable von ganz draußen aufrufen?

Danke und Grüesslie,

James.

  1. Hallo Freunde,

    Hallo James,

    zurzeit machen wir im Studium verschärft php und mysql

    Mein Dozent meint, dass es nicht sauber wäre,in einer selbst geschriebenen PHP-Funktion eine weitere selbst geschriebene aufzurufen.

    Ist sehr sauber, für sauberes Design unabdingbar

    Meine Frage: geht das echt nicht, und wenn ja warum oder ist das nur seine Philosophie?

    Ist wohl nur seine eigene Philosophie

    Wenn es geht, kann ich dann in der inneren Funktion mit global eine Variable von ganz draußen aufrufen?

    Kannst Du, solltest Du aber so selten wie möglich tun!

    Globale Variablen sollte man grundsätzlich so selten wie möglich und nur so oft wie wirklich unausweichlich verwenden.

    Danke und Grüesslie,

    James.

    Grüsse,

    Vinzenz

    1. Hallo James,

      das ist aber ein merkwürdiges Statement Deines Dozenten.

      Wenn Deine Funktionen auch wirklich als solche geschreiben sind, und nicht verkappte Prozeduren darstellen, dann ist es die sauberste Sache überhaupt, Funktionen zu staffeln. Die gesamte strukturierte Programmierung baut darauf auf.

      Man darf aber wegen des Problems mit der Reentranzfähigkeit KEINE Globalen Variablen schreibend benutzen. Gegen das Lesen ist im Allgemeinen nichts einzuwenden, denn da wirken sie wie Konstanten.

      Du solltest Dir angewöhnen immer alle in der Funktion benötigten Werte auch als Argumente zu übergeben. Bei PHP kann eine Funktion freundlicherweise auch ein Array als Funktionsergebnis haben. Dadurch gibt es noch nicht einmal (oder zumindest nur sehr selten) eine Notwendigkeit, Call-by-Reference zu benutzen.

      Bring aber bitte nicht den Aufruf anderer Scripte mit dem Aufruf von Funktionen durcheinander.

      Liebe Grüße

      Tom

  2. Hallo Freunde,

    Mein Dozent meint, dass es nicht sauber wäre,in einer selbst geschriebenen PHP-Funktion eine weitere selbst geschriebene aufzurufen.

    ich sehe dass so, wenn die weitere Funktion die Du einbindest included wird (weil sie in einer anderen Datei steht) ist es nicht unsauber, Unsauberheiten treten auf wenn alle funktionen untereinander definiert sind und sich dann gegenseitig aufrufen, weill es da zu Redundanzen kommen kann
    (natürlich geht das aufrufen, der gleichen Funktion -> siehe Rekursion)

    Wenn es geht, kann ich dann in der inneren Funktion mit global eine Variable von ganz draußen aufrufen?

    rufe nie globale Variablen von aussen auf, das gibt Probleme (muss zwar nicht, kann aber!) -> ist eine Philosophie

    Fazit: eigentlich ist es Philosophie, da aber die auftretbaren Probleme nicht überschaubar sind, ist beides unsauber!
    <IMHO>
    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist