global vars & Klassen

Harrier

Erfahrenes Mitglied
Sers! Ich hab folgendes Problem:

Ich hab eine Seite bei denen ich einige Variabeln habe, die ich in vielen Bereichen brauche. (Die meisten contents, menu usw)

Nun programmiere ich meine Seite gerade in Klassen um und da tut sich ein Problem auf. Beispielsweise werden die Zahl der angezeigten Posts, die auf einer Seite angezeigt werden. Diese Variable und viele andere brauche ich in mehr oder weniger allen Klassen die ich habe bzw haben werde! Bisher ist mir nur eingefallen ein Array zu übergeben was nicht funktioniert hat und einfach bei jeder Klasse eine extra Funktion einbauen, die sich die Infos holt! Ist aber irgendwie unelegant und daher wollte ich mal fragen ob es ne besser Möglichkeit gibt!

Danke schonmal im Vorraus!
 
Ich würde sagen, dafür gibt es mehrere Möglichkeiten. Da wären z.B. Konstanten oder die Möglichkeit bestimmte Konfigurationsvariablen in einer eigenen Datei aufzulisten und diese dann zu Inkludieren oder aber eine eigene "Info-Klasse", die die gebräuchlichsten Werte beinhaltet. Die Instanz dieser Klasse bräuchtest du dann in deinen Funktionen immer nur global verfügbar zu machen und dein Problem wäre damit hoffentlich gelöst.

Andere Möglichkeiten fallen mir da jetzt auf die Schnelle nicht ein...
 
Ein ähnliches Problem hab ich auch. Ich hab eine Datenbank-Klasse, die ich in weiteren Klassen brauche. Nun hab ich mir überlegt, dass ich im Kostruktor der Klasse einfach die DB-Klasse in eine klasseninterne Variable schreiben lasse und somit auch immer Zugriff habe. Aber dann hatte ich ein Problem, weil ich die Klasse (nicht die DB) per Sessionvariable immer an die andere Seite übergeben habe, damit ich Rechenzeit spare.
Ich übergebe die Klasse in mit Session, weil sie sonst jedesmal eine große Datei auslesen würde, die aber sich nicht so schnell ändert. Also ist es ja zweckmäßig diesen Vorgang nur einmal zu machen.

Entweder ich mache eine extra Fkt., wo ich jedesmal die DB-Klasse neu übernehme oder ihr gebt mir eine bessere Möglichkeit :)
 
Zurück