Alex: Globalisierungsgegner

Hey,

Anfängerproblem:

<?php
include('var.inc.php');
function fischkopf($anfrage) {
   tuedelue;
   }

Zeug außerhalb fischkopf

?>

Angenommen, in der var.inc.php sind etwa 500 Variablen, die _alle_ in der Funktion fischkopf genutzt werden sollen, aber auch _außerhalb_ dieser Funktion. Was ist da der günstigste Weg?

Gruß
Alex

  1. Moin,

    Angenommen, in der var.inc.php sind etwa 500 Variablen, die _alle_ in der Funktion fischkopf genutzt werden sollen, aber auch _außerhalb_ dieser Funktion. Was ist da der günstigste Weg?

    Das hört sich für mich so an, als ob man vergessen hat, sich vor dem Coden Gedanken über eine sinnvolle Struktur des Programms zu machen.

    Alleine die Anzahl spricht schon dafür, dass da was grundsätzlich falsch ist.

    Die beste Möglichkeit wäre imho die Variablen in einer geeigneten Datenstruktur zu verpacken und diese Datenstruktur zu verwenden. (als Parameter der Funktion sowie außerhalb). In PHP wäre eine geeignete Struktur eine Klasse.

    Gruß

    Stareagle

    1. Hi,

      In PHP wäre eine geeignete Struktur eine Klasse.

      zudem klingt es nach einem Singleton.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
  2. Was ist da der günstigste Weg?

    Also der _einfachste_ Weg wäre alle Variabeln in eine Liste oder einen Array zu packen und sie so als Paket zu übergeben. Wie gesagt, der einfachste, nicht unbedingt der sinnvollste.
    Sind das "echte" Variabeln oder eher Variabeln, die als Konstante dienen?

  3. Hi,

    Was ist da der günstigste Weg?

    Innerhalb der Funktion einfach die superglobale Variable $GLOBAL benutzen.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hi,

      Innerhalb der Funktion einfach die superglobale Variable $GLOBAL benutzen.

      Super, sowas hab ich gesucht!

      Es sind im konkreten Fall auch nicht tatsächlich 500 Variablen, die in die Funktion sollen, sondern nur 10. Ich neige zu Übertreibungen. Und ja, KraKi, es handelt sich um konstante Variablen.

      Dankeschön an alle, die geholfen haben!

      Gruß
      Alex

      1. Und ja, KraKi, es handelt sich um konstante Variablen.

        Dann benutze Konstanten. Die sind automatisch global!

        Und haben auch den Vorteil, dass man abfragen kann, ob sie definiert wurden, oder nicht, und dass man sie nicht mehr ändern bzw. manipulieren kann, wenn sie einmal definiert wurden.

        1. Hi,

          Dann benutze Konstanten. Die sind automatisch global!

          Ah ok. Kannte ich noch gar nicht, die Biester. Die scheinen sich ja tatsächlich anzubieten. Danke dir.

          Gruß
          Alex

      2. Hallo

        ... konstante Variablen.

        Irgendwie widersprüchlich, oder?
        *scnr*

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)
        Veranstaltungsdatenbank Vdb 0.1