Variablen in PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ahnung
array
benutzung
code
datei
datum
deklaration
faule leute
funktion
memory
nutzer
problem
projekt
raten
realisieren
setter
test
verwenden
wartung
zugriff
-
Hallo Leute!
Ich hab da ein Problem, und zwar möchte ich eine Variable machen, auf die alle meine PHP Skripte Zugriff haben (also deren Inhalt sie schreiben und lesen können). Wie kann ich soetwas realisieren, ohne auf die Verwendung von shmop (Shared Memory Funktionen von PHP - sind auf Lima-City deaktiviert) oder lahmes Zwischenspeichern in einer Textdatei/Datenbank zurückzugreifen?
mit besten Grüßen
Beitrag geändert: 18.8.2008 22:16:53 von bibliothek -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du könntest die Variablen in einer extra-*.php-datei definieren, und diese Datei überall includen, dann müsstest du nur die Datei ändern, fals sich etwas an den Werten ändern soll.
-
Das mit der .txt datei dürfte an sich auch kein Problem darstellen, da diese bei weitem nicht so lahm ausgelesen werden wie du das oben dargestellt hast ;) . Alternativ könntest du dir auch eine MySQL Tabelle Konstanten anlegen und dort alle derartigen Werte festlegen
-
Oder du startest eine Session in jedem script, in die die Variable gespeichert wird.
-
Ich wüßt jetzt nicht wo das Problem ist. Wenn man eine Variable global deklariert ist diese überall verfügbar.
Beispiel:
<? $CONFIG['db'] = "meineDB"; $CONFIG['user'] = "meinNutzer"; function test() { global $CONFIG; // wenn in der Funktion die Variable verwendet werden soll, muß diese mit "global $CONFIG;" angegeben werden. echo "Sie sind Nutzer: ".$CONFIG['user']; } echo "Sie verwenden die DB: ".$CONFIG['db']; test(); ?>
Wenn du die Deklaration der variablen noch auslagern willst, sieht es dann ähnlich aus:
<? include_once("constants.inc.php"); global $CONFIG; function test() { global $CONFIG; // wenn in der Funktion die Variable verwendet werden soll, muß diese mit "global $CONFIG;" angegeben werden. echo "Sie sind Nutzer: ".$CONFIG['user']; } echo "Sie verwenden die DB: ".$CONFIG['db']; test(); ?>
und die Deklaration der Variablen in constants.inc.php mit:
<? $GLOBALS['CONFIG']['db'] = "meineDB"; $GLOBALS['CONFIG']['user'] = "meinNutzer"; ?>
Hoffe konnte ein wenig helfen...
Grüßle
Beitrag geändert: 19.8.2008 11:51:45 von scout -
leg dir doch einfach ne datei 'konstanten.inc' an, die du überall als include verwendest. wo ist das problem?
-
Ich rate von der Benutzung von Glabalen Variablen ab.
Sie machen bei größeren projekten die Wartung des Codes schwerer als nötig und sind generell nicht sehr sauber.
Globals sind etwas für faule Leute ohne Ahnung, behaupte ich einfach mal.
Wenns sein muss, schreibe eine Klasse, die eine Konfigurationsdatei ausliest und in ein Array schreibt und lass dir die einzelnen Werte per Getter übergeben und per Setter schreiben.
Das wäre die sauberste und eleganteste Lösung:
- Leicht zu waten.
- Effizient.
- Sauber. -
adrians schrieb:
Ich rate von der Benutzung von Glabalen Variablen ab.
Sie machen bei größeren projekten die Wartung des Codes schwerer als nötig und sind generell nicht sehr sauber.
Globals sind etwas für faule Leute ohne Ahnung, behaupte ich einfach mal.
Wenns sein muss, schreibe eine Klasse, die eine Konfigurationsdatei ausliest und in ein Array schreibt und lass dir die einzelnen Werte per Getter übergeben und per Setter schreiben.
Das wäre die sauberste und eleganteste Lösung:
- Leicht zu waten.
- Effizient.
- Sauber.
Jop.
Aber wie gesagt was am einfachsten ist: SESSIONS. Notfalls kannst du, für wichtige sachen, auch cookies anlegen.
Du kannst auch Variablen per GET zum nächsten Dokumen weitergeben. Diese Methode ist nur sehr unsicher weil da jeder n0p die daten verändern kann... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage