bjoern: variablen in funktionen

hallo!

ich habe eine funktion (1) die wiederum eine weitere funktion (2) aufruft.

In Funktion (2) kan ich mit $GLOBALS[''] variablen bearbeiten die global in keiner funktion erstellt wurden.

möchte ich nun aber variablen in funktion (2) bearbeiten, die ich in funktion (1) erstellt habe, stell ich mir die frage wie dies geht.

irgendwie in funktion (1) die variablen mit global var1, var2; global machen, dass ich sie überall benutzen kann?

hab ich näml. so versucht, geht aber nicht..

stellt sich die selbe problematik in schleifen und if-afbragen?

gruß björn

  1. echo $begrüßung;

    ich habe eine funktion (1) die wiederum eine weitere funktion (2) aufruft.

    Das passiert öfter.

    In Funktion (2) kan ich mit $GLOBALS[''] variablen bearbeiten die global in keiner funktion erstellt wurden.

    Ja, doch das Zugreifen auf globale Variablen ist schlechter Stil. Kannst du die benötigen Werte nicht per Parameter übergeben?

    möchte ich nun aber variablen in funktion (2) bearbeiten, die ich in funktion (1) erstellt habe, stell ich mir die frage wie dies geht.

    Gar nicht. Übergib die benötigten Werte über Parameter.

    irgendwie in funktion (1) die variablen mit global var1, var2; global machen, dass ich sie überall benutzen kann?

    schlechte Idee, siehe oben.

    hab ich näml. so versucht, geht aber nicht..

    Das sollte aber. Zeig mal wie du es gemacht hast.

    stellt sich die selbe problematik in schleifen und if-afbragen?

    nein

    echo "$verabschiedung $name";

    1. moin moin..

      irgendwie in funktion (1) die variablen mit global var1, var2; global machen, dass ich sie überall benutzen kann?

      Das sollte aber. Zeig mal wie du es gemacht hast.

      Funktioniert nicht weil:

      Die Variablen Global sind und mit global in der jeweiligen Funktion nur verfügbar gemacht werden ;)

      Habs hinbekommen. Normal übergeb ich variablen auch als Parameter. Nur hatte die Funktion schon 5 Parameter und irgendwann wirds zu unübersichtlich, wenn ich dann auch noch 7 Variablen per Parameter übergebe.

      Wenn ich nur 1-2 Variablen habe ist global sicher kein guter Stil, wenn ich aber 20 Variablen verfügbar machen muss, häng ich bestimmt nicht 20 Parameter an sondern nutze global. Da ist es dann nämlich kein schlechter Stil.. So seh ich das jedenfalls ;)

      Gruß
      Björn

      1. echo $begrüßung;

        Wenn ich nur 1-2 Variablen habe ist global sicher kein guter Stil, wenn ich aber 20 Variablen verfügbar machen muss, häng ich bestimmt nicht 20 Parameter an sondern nutze global. Da ist es dann nämlich kein schlechter Stil.. So seh ich das jedenfalls ;)

        Dann, schätze ich, hast du kein Stil-Problem mehr. Vielleicht solltest du dann mal den Einsatz von Objekten oder Arrays in Erwägung ziehen. Da ich aber deine Aufgabenstellung nicht kenne, kann ich auch nicht sagen, was konkret ich da als sinnvoll ansähe.

        echo "$verabschiedung $name";