global *.* ??

  • Themenstarter Themenstarter IKEAFREAX
  • Beginndatum Beginndatum
I

IKEAFREAX

Moin,

ich muss mal wieder kurzzeitig eure kostbare Zeit beanspruchen und mir euer Wissen zu nutze machen *gg*

Es geht um Funktionen

Ich bin gerade dabei, für meinen lokalen Server und die dortigen Projekte eine allgemeine Funktionen.php Datei schreiben, wo nur Funktionen drin sind; die ich dann bei allen Seiten/Projekten auf meinem Server benutzen kann.

Nur, irgendwann nach der 12 Funktion korkste es mich an, dass ich Global benutzen muss. Gibts ne Möglichkeit, so ne Art GLOBAL *.*; zu machen? So das ich nicht jede einzelne GLOBAL, die diese Funktion braucht, extra angeben muss.

Sind nämlich ziemlich komplex Funktionen, und so kann es schon mal vorkommen, dass 10/20 Globals vorkommen.

ich hoffe, dass hat einer verstanden *gg*

aufjedenfall schon mal danke im vorraus!!!
 
Versuch doch mal ganz oben in der Datei ein "global $db;" einzufügen, ich glaube/hoffe dass das die Variable $db globalisiert :)
 
man kann mehrere variabeln mit einem global zusammenfassen:

global variable1, variable2, variable3, ...;

Vielleicht hilft dir das..
 
Nee, das wird alles nicht helfen. Sein Problem ist, dass er die globalen Variablen nur einmal definieren möchte und nicht für jeden Funktion einzeln!

Es gibt da nen weg, aber der ist leider auch umständlich ...
Gehen wir zB davon aus dass du $db global verwenden willst dann musst du in der Funktion $db mit $GOLBALS["db"] ersetzen. Sieht lustig aus:
PHP:
<?php
$GLOBALS["db"]->connect();
?>

aber sollte gehen!
 
mh....

:rtfm:

alles leute die eigentlich Ahnung haben... aber keiner Schaut ins manual
naja reima hats wohl getan... kein wunder, dass die mods manchmal die Krise kriegen...


tob

PS.: sorry for OffTopic

[Kommentar Kojote]
Fragen darf man, IKEAFREAX ist Mod bei uns
gewesen und wer noch ganz klein ist sollte
sich nicht so aufplustern :-)

Ich tippe mal eher auf Verständigungs-
schwierigkeiten. Was will A ? A will
B. C meint A will D und D meint A will
Y. Verwirrend ? Genau.
[/Kommentar Kojote]
 
Also ich hab eigentlich auch nicht in's Manual geschaut, Asche über mein Haupt ;)

Aber um noch was zum Thema beizutragen... mir ist aufgefallen, dass meine Methode lediglich lokale Kopien der globalen Variablen erstellt. D.h., wenn man auch Schreibzugriff auf die Globals haben will, müsste man das etwa so machen:
PHP:
<?
function foobar()
{
  foreach (array_keys($GLOBALS) as $g) $$g = &$GLOBALS[$g];
  $foo .= "bar";
}

$foo = "foo";
foobar();
echo $foo; // Ausgabe: "foobar";

?>
 
Zurück