Hi Bob Ross,
Für ein projekt brauche ich einige Globale Informationen.
Es wäre jetzt ein leichtes natürlich einige defines zu erstellen die ich dann überall einsetzen kann.
Ich bevorzuge aber Arrays im Programmcode (aus ver. gründen) und würde gerne Wissen ob ich Mehrdimensionale Arrays irgendwie Global setzen kann so dass sie in jeder Funktion und Klasse einem Define ähnlich ansprechbar sind.
Wenn du einmal dabei bist, objektorientiert zu programmieren, wie wäre es da mit folgender Lösung:
1. Du erstellst eine Basisklasse für alle deine Scripts:
class bobs_globals {
// Konstruktor
function bobs_globals() {
$this->globals = array(
// hier deine globalen Variablen eintragen
);
}
}
2. Du benutzt die wunderbare Eigenschaft der Vererbung:
class irgendeine_andere_klasse extends bobs_globals {
// Konstruktor
function irgendeine_andere_klasse() {
parent::bobs_globals();
}
}
Jetzt sollten alle Methoden von "irgendeine_andere_klasse" mit $this->globals das Array deiner "globalen Variablen" erreichen.
Wenn du das nicht magst, dann definiere dein Array einfach im Script vor allen Funktionen und rufe dann innerhalb der Funktionen die Variablen über das Array $GLOBALS auf:
<?php
$bobs_globals = array(
'bla' => 'irgendwas',
'blubb' => 'was anderes'
);
// ...
function mach_was() {
printf("bla hat den Inhalt '%s'\n", $GLOBALS['bobs_globals']['bla']);
}
mach_was();
?>
PHP-Manual zu Geltungsbereichen von Variablen
happy painting and god bless my friend ;-)
EisFuX
... Suchmaschinen-Blog ...