PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Variablen global nutzen - ohne jedesmal "global" einfügen?!


M@tes
2009-04-23, 10:52:12
Hoi!
Hab hier ein kleines Problem. Naja Problem, vielmehr ists eine glaubens Frage..
Ich kenne ausm Perl, das man eine Variable ganz am Anfang als Global einstellen kann und das wars.
In PHP muss man anscheinend in jeder function "global $Var" einfügen, um diese nutzen zu können.
Ist das nicht besser lösbar? Einmal und gut ist? Sowas wie GLOBALS, aber will ein ganzen Arraybaum anhängen und kein einzelnen Wert.

Tommes
2009-04-23, 10:54:46
Du kann in GLOBALS auch ein Array packen.

$_GLOBALS['foo'] = array('hallo', 'welt');

function crap() {
print_r($_GLOBALS['foo']);
}

Oder hieß es $GLOBALS? Ich benutze sowas nie.

M@tes
2009-04-23, 10:59:19
Nur $GLOBALS, hmm tatsach! Habs gerad auch so ausprobiert. Im Buch steht hier nämlich:
"Der Zugriff auf das gesamte Array $GLOBALS[] ist indes nicht möglich, sondern immer nur auf einzelne Elemente"
Hab ich das jetzt falsch interpretiert gehabt oder ist dies auf _GET, _SERVER... bezogen?

/edit: eigentlich logisch, heisst es ja globalS und nicht global :p
Danke!

The_Invisible
2009-04-23, 12:48:00
warst du auch schon bei dem kapitel wo gesagt wird das globale variablen böse sind? :)

mfg

Tommes
2009-04-23, 13:08:47
Manchmal will man auch nur fast & dirty was proggen, dass eben schnell lokal läuft. Da scheißt man doch auf solche Regeln, Hauptsache es läuft. Z.B. irgendwelche Listen mergen und daraus eine XML Datei erstellen, hatte ich neulich. Nicht immer programmiert man an der nächsten Killerapplikation ;)

M@tes
2009-04-23, 13:25:05
Es gibt gewisse Daten, die ich gern Global brauche und diese auch entsprechend als Global deklariert sind und entsprechend keine Probleme geben sollte ;)

RMC
2009-04-23, 13:42:21
Manchmal will man auch nur fast & dirty was proggen, dass eben schnell lokal läuft. Da scheißt man doch auf solche Regeln, Hauptsache es läuft. Z.B. irgendwelche Listen mergen und daraus eine XML Datei erstellen, hatte ich neulich. Nicht immer programmiert man an der nächsten Killerapplikation ;)

Das stimmt wohl.

Die Gefahr ist halt, dass man später auf dem Pfusch aufsetzt, weil - und ich kenne das - man in der Annahme, man hätte eh schon was Funktionsfähiges zur Verfügung (nach dem Motto: hat damals funktioniert, also tuts auch heute noch, womit wir wieder beim "Hauptsache es läuft" wären), zu faul ist, das Ganze schön zu überarbeiten.

Darum ist es auch oft bei kleinen Tools hilfreich, wenn man das "quick&dirty" etwas Außen vor lässt ;) Grad so sachen wie globale Variablen können sich später oft bitterlich rächen.

Tommes
2009-04-23, 13:44:45
Ja klar, man muss halt drauf achten, dass man wenn man "vernünftig" programmiert diesen Schlendrian nicht mehr drin hat. Insbesondere, da PHP sowieso zum schlampigen programmieren einlädt - worüber man manchmal sehr dankbar ist. Es ist ein Teufelskreis :D