hilfdirselbst.ch
Facebook Twitter gamper-media
Pozor  M 
Beiträge: 892
19. Mai 2003, 17:43
Beitrag #1 von 10
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


Hallo,

ich möchte in meiner Sessionverwaltung verschiedene Variablen in einer DB ablegen. Dies habe ich mir so vorgestellt, dass ich ein Objekt erzeuge und die entsprechenden Variablen diesem hinzufüge. Wenn es in die DB gespeichert werden (TEXT) soll wandle ich es in einem String um (serialisieren). So kann ich dies auch auf der nächsten seite verwenden.

Ist es sinnvoller(einfacher) ein Objekt oder ein Array für diese Aufgabe zu verwenden?

Gibt es eine einfache Funktion um ein Array zu serialisieren oder sollte ich diese besser selber schreiben?

Gibt es noch eine bessere Variante dynamisch anfallende Variablen zu speichern (besser|einfacher|schneller)?


Gruss Pozor
(Dieser Beitrag wurde von Pozor am 19. Mai 2003, 17:44 geändert)
Top
 
X
oesi50  A  S
Beiträge: 2315
19. Mai 2003, 19:38
Beitrag #2 von 10
Beitrag ID: #35913
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


hi Pozor,

Du hast wahrscheinlich das gleiche Problem wie ruebe.
Vieleicht hilft Dir diese Lösung auch weiter.

http://www.hilfdirselbst.ch/...=1&topic_id=7526

Grüße Oesi
als Antwort auf: [#35900] Top
 
Pozor  M 
Beiträge: 892
19. Mai 2003, 23:14
Beitrag #3 von 10
Beitrag ID: #35954
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


hallo,

erst mal danke für deine mühe, nur ich möchte eine universell einsetztbare sessenverwaltung programmieren, in der es keine rolle spielt welche und vieviele variablen gespeichert werden müssen, also sollte es schon in einem text string abgespeichert werden.

gruss pozor
als Antwort auf: [#35900] Top
 
Anonym
Beiträge: 22827
19. Mai 2003, 23:30
Beitrag #4 von 10
Beitrag ID: #35955
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


hi,
wenn es um eine Session Verwaltung geht, dann programmiere
ich das immer so, dass ich für jede Session eine Datei
anlege, in der alle Variablen Zeilenweise hinterlegt sind.
Der Vorteil ist die Geschwindigkeit und das einfachere Handling gegenüber einer DB-Lösung.
Für eine universelle Lösung würde ich dann Schlüssel-Wert Paare verwenden.
Grüße Oesi
als Antwort auf: [#35900] Top
 
Pozor  M 
Beiträge: 892
20. Mai 2003, 12:54
Beitrag #5 von 10
Beitrag ID: #36039
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


hallo,

hat jemand eine konkrete idee wie ich ein array serialisieren könnte?

wenn ich das ganze über eine zusätzliche tabelle (id, sessid, varname, varvalue)löse, in der ich jede einzelne variable speichere
ist denn dies nicht ein bremsklotz in meiner anwendung. Es gäbe ja die möglichkeit, dass ich bis zu 20-30 verschiedene variablen zwischenspeichern möchte....

gruss pozor
als Antwort auf: [#35900] Top
 
oesi50  A  S
Beiträge: 2315
20. Mai 2003, 13:17
Beitrag #6 von 10
Beitrag ID: #36049
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


hi Pozor,
lege für jede session_id beim 1.Aufruf eine Datei an, mit folgendem Inhalt:
<?php
$s_id='x35a36cef85c3';
$s_varname='varvalue';
.
.
.
?>
(sowas nennt man key/value pairs)

dann holst Du Dir die Datei einfach mit require rein

$id = $_GET['id'];
require("sessionverzeichnis/$id.dat");

und schon hast du deine Variablen.
Das ist wirklich die schnellste Variante, da pro Aufruf nur eine kleine Datei gelesen wird. Bei mir funktioniert das mit ca. 1000 Sessiondateien. Mein Script löscht automatisch alle Sessiondateien die älter als 4 Stunden sind.
Grüße Oesi
PS:
wenn Dir das zu popelig erscheint, kannst Du auch assoziative Arrays verwenden.
als Antwort auf: [#35900] Top
 
Pozor  M 
Beiträge: 892
20. Mai 2003, 13:48
Beitrag #7 von 10
Beitrag ID: #36059
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


hallo oesi,

ich möchte es nicht mit einer datei lösen, sondern in einer db ablegen.

gruss pozor
als Antwort auf: [#35900] Top
 
oesi50  A  S
Beiträge: 2315
20. Mai 2003, 14:04
Beitrag #8 von 10
Beitrag ID: #36064
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


da vermute ich mal stark, dass Du bei einem Provider bist,
der keinen Schreibzugriff auf Dateien zuläßt(Lycos/Tripod).
Dann kannst du die Wertepaare in URL-kodierter Form
in ein DB-Feld legen.
Bsp:

INSERT
INTO id_tab(sess_id,werte)
VALUES('4567a686c85','id=$id&varname1=$varwert1&varname2=$varwert2')

so geht das Auslesen
SELECT id,werte FROM id_tab WHERE sess_id = '$id'

http://www.php.net/...nction.urldecode.php

Grüße Oesi
als Antwort auf: [#35900]
(Dieser Beitrag wurde von oesi50 am 20. Mai 2003, 14:05 geändert)
Top
 
Miro Dietiker
Beiträge: 699
20. Mai 2003, 14:22
Beitrag #9 von 10
Beitrag ID: #36074
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


Hey Pozor

Deine Bezeichnung war natürlich absolut zutreffend :)

$hash = serialize($variable)
// Hash kann gespeichert werden als Inhaltsfeld in DB
$variable = unserialize($hash)

Hoffe das genügt :)

GrEeZ: Miro Dietiker
als Antwort auf: [#35900] Top
 
Pozor  M 
Beiträge: 892
20. Mai 2003, 15:27
Beitrag #10 von 10
Beitrag ID: #36098
Bewertung:
(1694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Objekt oder Array?


hallo,

danke für eure mühen, zu oesi: mein provider unterstützt das schreiben auf dateien, nur ich möchte das nicht so lösen.
zu Miro: das ist inetwa was ich mir vorgestellt habe und inzwischen auch schon mal flüchtig angeschaut habe.

gruss Stefan
als Antwort auf: [#35900]
(Dieser Beitrag wurde von Pozor am 20. Mai 2003, 15:29 geändert)
Top
 
X