global und $GLOBALS

Alles, was PHP betrifft, kann hier besprochen werden.

global und $GLOBALS

Postby Mätes » 23. January 2007 11:47

moin,
folgendes testskript:

$meinstring = "jepp, ist da";
function zeigestring() {
global $meinstring;
echo $meinstring;
$x = $GLOBALS["meinstring"];
echo $x;
}
zeigestring();

führe ich das Skript aus, wird nichts ausgegeben (tippfehler hier nicht ausgeschlossen, habe lokal alles getestet und rumprobiert, nix ging).
arbeite hier unter php5. ist mir während des umstieges von php 4 auf 5 irgendwas hinsichtlich globaler variablen entgangen?
es ist mir egal ob globale variablen nicht verwendet werden sollten oder nicht, mir geht es nur um das verständnis, denn meines erachtens sollte das skript doch etwas ausgeben, oder?

gruß ma
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby Mätes » 23. January 2007 11:52

noch ein kleiner zusatz:
das skript (das in natura etwas komplexer ist), wird per require_once von einem frameset eingebunden. bin mir sehr sicher, das es sich aber um den globalen bereich ist, d.h. nicht irgendwie innerhalb einer funktion required wird.
zudem hatte ich auch in einer anderen umgebung dies schon bemerkt, auch auf dem server meines arbeitgebers.

ma
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby Wiedmann » 23. January 2007 12:08

folgendes testskript:

Tut hier einwandfrei.

das skript (das in natura etwas komplexer ist), ...

Also hast du bei dir gar nicht das obige Script getestet, sondern was anderes?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mätes » 23. January 2007 12:19

habe nicht das testskript ausgeführt, sondern
das komplexere ding innerhalb des frameworks.

aber sollte (doch eigentlich) keinen unterschied machen. meine frage war auch mehr, ob ich wirklich etwas verpennt habe, oder ob man diese globalen variablen irgendwie 'ausschalten' kann.

ma
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby Wiedmann » 23. January 2007 12:24

sondern
das komplexere ding innerhalb des frameworks.

Dann stimmt da was nicht...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mätes » 23. January 2007 13:07

wenn ich es richtig kapiert habe, kann ich per
$GLOBALS['meinevariable'] = 42;

eine globale Variable hinzufügen, oder?
wenn ja, klappt auch nicht.

Wir mussten unsere Seiten in ein Framework hineindrücken, was dadrin genau abläuft, will ich eigentlich gar nicht so genau wissen ... :(
nur bleibt die frage offen, warum ich keine globale variable deklarieren kann.

ma
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby Wiedmann » 23. January 2007 13:34

wenn ich es richtig kapiert habe, kann ich per
$GLOBALS['meinevariable'] = 42;
eine globale Variable hinzufügen, oder?

Ja.
Code: Select all
<?php
function zeigestring() {
    $GLOBALS["meinstring"] = 42;
}
zeigestring();
echo $meinstring;
?>

Tut einwandfrei.

was dadrin genau abläuft, will ich eigentlich gar nicht so genau wissen ..

Solltest vielleicht...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mätes » 24. January 2007 08:57

dafür habe ich aber keine Zeit, ist was größer und zudem gekauft.
daher meine frage, dieses globale-variablen-jedöns irgendwie abzuschalten ist, wovon ich bisher noch nichts gehört habe.

ms
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle


Return to PHP

Who is online

Users browsing this forum: No registered users and 16 guests