PHP Globale Variabeln in Funktionen

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
557
Hallo,

gibt es eine Möglichkeit, innerhalb von Funktionen auf Variabeln zuzugreifen, ohne sie jedes mal anzumelden?

aktuell sieht das wie folgt aus.

PHP:
function logging() {

    global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PW, $MYSQL_DB, $mysql_error_connection_failed, $mysql_error_db, $db_check,$db_sel,$db_link;

}

das ist dann aber sehr nervig wenn ich eine weitere funktion benötigte die wieder auf MYSQL_HOST zugreifen.

die idee, die globals zu includieren hat leider nichts gebracht :(
 
Hmm,
ein paar Tips:
1. Versuche stets auf globals zu verzichten. Selbst bei prozeduraler Programmierweise.
2. Leg dir ne config.inc.php an, dort kommt ein array mit den config settings rein. Die $config machst du dann als Übergabeparameter in logging($config). Egal wo du dann logging aufrufst, musst du halt vorher deine config.inc.php includen.
3. Eine dumme Idee wäre in der Funktion zu includen. Das sollte zwar gehen, aber includes/requires sind stets Dateizugriffe und deshalb wird das langsam, sobald die Funktion regelmäßig aufgerufen wird.
4. Sofern das Projekt umfangreicher ist und es insgesamt Sinn macht, auf OOP umschwenken.
 
Hallo,

Kann #2 nur zustimmmen, außer dass man in einer Funktion nicht inkludiert, weil es nicht "sauber" ist, aber manchmal geht es nicht anders.

Code:
define(Name, Wert);

Ich bin mir gerade unsicher, ob das auch in einer Funktion geht und dann globalen Zugriff auf den Define hat. Ich würde mich auch trotzdem nicht wohl fühlen, wenn das Password global definiert ist.
Vielleicht ist doch der bessere Ansatz sich erstmal ans OOP zu setzen ...

Liebe Grüße

Nachtrag: Sorry, meine Sätze sind gerade nicht elegant geraten, bin noch etwas angetrunken. :)
 
Zuletzt bearbeitet:
das mit dem define funktionert :) vielen danke!

wie sehe es mit OOP aus? hab damit noch nicht so recht gearbeitet.
 
Es gibt sicher ein paar hübsche vorgekaute Datenbank-Klassen. Man muss das Rad nicht immer neu erfinden.
 
da magst du recht haben, da ich aber dazulernen will, schreibe ich mir - wenn auch über viele umwege - sachen selber. dazu bin ich immernoch zu sehr anfänger als das ich mich auf fertige sachen stützen möchte.
 
Ich sag dazu auch nur: Konstanten (MySQL User ändert sich im Script eh nie) und Singletons. Sind für mich sehr komfortabel nutzbar.
 
http://de2.php.net/manual/de/oop5.intro.php

Das beschreibt zumindest schonmal die Grundlagen ganz gut an Hand von Beispielen. Ich würde mich von Tutorials erstmal fernhalten, da die einem ganz gerne auch schlechte Wege beibringen oder überkompliziert werden.
 

Ähnliche Themen

L
Antworten
9
Aufrufe
1.282
Zurück
Oben