Felix Riesterer: global all;

Beitrag lesen

Lieber Tom,

$_SERVER['meine_vars'] = array(
    'meine_var1' => $mein_wert1,
    'meine_var2' => $mein_array_als_wert2,
    'meine_var3' => 12345
)

if (isset($_SERVER['meine_vars']))
{
  ## nun hat Felix ein Problem
}

Also besser so?

// Anfang des Scripts  
$_SERVER['meine_vars'] = array(  
    'meine_var1' => false,  
    'meine_var2' => false,  
    'meine_var3' => false  
);  
  
  
// später im Script  
$_SERVER['meine_vars']['meine_var1'] = $irgendwas_gerade_aktuelles;  
  
// noch später im Script  
$_SERVER['meine_vars']['meine_var2'] = $irgendwas_anderes;  
  
// usw.

$_SERVER hat eine andere Bestimmung als z.B. $GLOBALS, was für den Zweck eigener Werte, die nur die Lebensdauer des Scriptes haben sollen, die passende Stelle wären.

Also in etwa so?

// Anfang des Scripts  
$GLOBALS['meine_vars'] = array(  
    'meine_var1' => false,  
    'meine_var2' => false,  
    'meine_var3' => false  
);  
  
  
// später im Script  
$GLOBALS['meine_vars']['meine_var1'] = $irgendwas_gerade_aktuelles;  
  
// noch später im Script  
$GLOBALS['meine_vars']['meine_var2'] = $irgendwas_anderes;  
  
// usw.

Man sollte die von PHP vorgesehene Strukturierung der Datenbereiche nicht zerstören!

Welchen _technischen_ Unterschied haben $_SERVER und $GLOBALS (mal von der Intention der PHP-Autoren abgesehen)? Ändert es etwas am Verbrauch von Arbeitsspeicher oder der Performanz, wenn man statt des einen das andere verwendet?

Ich habe kein Problem damit, mein komplettes CMS umzuschreiben, um anstelle von $_SERVER nun $GLOBALS zu verwenden... Aber ich tue es nur, wenn ich einen trifftigen Grund finde - und da überzeugen mich _technische_ Unterschiede am ehesten. :-)

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)