Wie Meldungen aus mehreren Scripts zentral ablegen?
Andreas G
- php
0 Kadauz0 Sympathisant0 Andreas G0 Sympathisant0 Tom
0 Cheatah0 dedlfix
Hallo,
ich komme aus der Java Ecke und kämpfe z.Zt. noch etwas mit PHP.
Ich möchte Meldungen die in verschiedenen Scripts (die z.B. nacheinander laufen) an einer Stelle zentral ablegen und nachdem alle Scripts abgelaufen sind, im Browser darstellen.
In Java u.ä. ist das natürlich kein Problem, da lege ich mir z.B.(!) irgendwo mit "public static" ein Array o.ä an, fülle das Array an beliebiger Stelle und gebe die Daten zum Schluss einfach aus.
In PHP jedoch kriege ich das nicht so ohne weiteres hin. Hat jemand eine Idee wie man sowas elegant löst?
Gruß
Andi
Du könntest die Meldungen in eine Textdatei speichern und am Ende einfach wieder auslesen.
Du könntest die Meldungen in eine Textdatei speichern und am Ende einfach wieder auslesen.
Das macht auch Sinn. Probier ich parallel auch mal aus.
THX! Für die Antworten !!!
Hai,
Oh ja :) ... Das erscheint mir hier dann am nächsten. Einfach ein Array in eine gestartete Session packen, dann in einem anderem Script (das natürlich ebenfalls "in dieser Session läuft") entsprechend füllen bzw. auswerten. Das sollte kein Problem sein, oder?
MfG,
Sympatisant
Gruß
A
Hai Andreas,
»» Session?
Oh ja :) ... Das erscheint mir hier dann am nächsten. Einfach ein Array in eine gestartete Session packen, dann in einem anderem Script (das natürlich ebenfalls "in dieser Session läuft") entsprechend füllen bzw. auswerten. Das sollte kein Problem sein, oder?
Exakt. Du kannst bei Bedarf natuerlich auch ganze Objekte in der Session hinterlegen.
MfG,
Sympatisant
Hai Andreas,
»» »» Session?
»» Oh ja :) ... Das erscheint mir hier dann am nächsten. Einfach ein Array in eine gestartete Session packen, dann in einem anderem Script (das natürlich ebenfalls "in dieser Session läuft") entsprechend füllen bzw. auswerten. Das sollte kein Problem sein, oder?
Exakt. Du kannst bei Bedarf natuerlich auch ganze Objekte in der Session hinterlegen.
Ui! Das macht die Sache natürlich noch interessanter :)
MfG,
Sympatisant
THX! Für die Antworten !!!
Hello,
...und gelegentlich solltest Du die Session dann auch mal aufräumen, wenn das Spiel länger läuft, also nicht mehr benötigte Variablen und Objekte aus der Session wieder löschen.
Sonst müssen die ja bei jedem Request, der auf die Session aufsetzt, nutzlos mit geladen werden.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Hi,
ich komme aus der Java Ecke und kämpfe z.Zt. noch etwas mit PHP.
mein Beileid. Tipp: Beide Sprachen haben Vor- und Nachteile. Die Vorteile sind beispielsweise bei Java die strenge Strukturiertheit und bei PHP die Einfachheit. Versuche, die Vorteile zu vereinen, ohne die Nachteile zu integrieren.
In Java u.ä. ist das natürlich kein Problem, da lege ich mir z.B.(!) irgendwo mit "public static" ein Array o.ä an, fülle das Array an beliebiger Stelle und gebe die Daten zum Schluss einfach aus.
In PHP geht das nicht wesentlich unterschiedlich. Scopes funktionieren lediglich etwas anders, ggf. willst Du ein Singleton implementieren oder "einfach" global verwenden. Wenn Du die Texte wie von Kadauz vorgeschlagen in eine Datei auslagern möchtest, sei Dir parse_ini_file ans Herz gelegt.
Cheatah
echo $begrüßung;
Ich möchte Meldungen die in verschiedenen Scripts (die z.B. nacheinander laufen) an einer Stelle zentral ablegen und nachdem alle Scripts abgelaufen sind, im Browser darstellen.
Wenn "nacheinander laufen" bedeutet, dass ein Browser diese Scripts nacheinander aufruft, dann bietet sich eine Session an. Wenn es sich allerdings um einen Request mit mehreren inkludierten Scripts handelt, dann:
In Java u.ä. ist das natürlich kein Problem, da lege ich mir z.B.(!) irgendwo mit "public static" ein Array o.ä an, fülle das Array an beliebiger Stelle und gebe die Daten zum Schluss einfach aus.
In PHP jedoch kriege ich das nicht so ohne weiteres hin. Hat jemand eine Idee wie man sowas elegant löst?
Elegant? Seit Version 5 hat PHP ein einigermaßen brauchbares OOP-Konzept. Wenn du objektorientiert programmierst, kannst du dir eine statische Klassenvariable anlegen und die befüllen oder eine statische Methode dazuschreiben, die das macht.
Wenn du ohne OOP programmierst, dann leg global (außerhalb einer Funktion) ein Array an, das du befüllst. Wenn du den Zugriff kapseln willst, kannst du eine Funktion mit einer statischen Variable drin anlegen. Allerdings muss die Funktion dann sowohl schreibenden als auch lesenden Zugriff bieten, wenn du wieder an die Werte kommen willst. Oder ein spezieller Parameterwert veranlasst die Funktion zur Ausgabe oder Rückgabe der gesammelten Meldungen. Besser kommst du in dem Fall wohl mit der Statische-Klassenvariable-Methode. Man kann ja auch OOP und "normale" Programmierung mixen.
echo "$verabschiedung $name";