Wie erstellt man ein Globales Array?

Hallo,

ich möchte gerne einige Parameter für meine Rolladensteuerung beim Start von IPS (über IPS_Startup) in ein Array einlesen und auf diese Daten gerne während der Laufzeit aus anderen Funktionen zurückgreifen.

Ich habe zwar gelesen, wie man in den Funktionen globale Variablen importiert (global var_n;), aber wie bestimme ich im StartupSkript die Eigenschaft GLOBAL?

Gruss,
reflectedimage

Hm, in IPS ist das nicht so easy. Normalerweise legt man solche Dinge in die Session-Variablen. Dazu muss man jedoch in der PHP-Ini einige Dinge konfigurieren(session_save_path usw.). Dann kann man mit $_SESSION[‚variable‘] auf diese Dinge zugreifen. Ich habe es selbst mit IPS so noch nicht probiert, das kann Dir aber sicher Paresy sagen.

Aber es geht auch anders. Du könntest im Startup Deine Variablen in eine extra Datei auslagern, die Du dann in Deinen Scripten jedesmal einliest. Das ist zwar etwas mehr Aufwand (zum Einpacken in die Datei und wieder Auspacken, z.B. als .csv oder XML), aber geht dafür mit Sicherheit.

Tommi

Hallo,

das geht ganz easy, wenn man einige Dinge beachtet. Dazu kann man sich das ganze in WIIPS anschauen, da ist es realisiert.

Gruss Torro

‚globales‘ Array in IPS:

Man kann ein PHP-Array zu einem String serialisieren und dann in eine IPS-Stringvariable speichern.


Speichern des Array's:
 
SetValueString( "ips_array", wddx_serialize_value($aArray) );
 
Zurückholen des Array's:
 
$aArray = wddx_deserialize( GetValueString( "ips_array") );