Forenindex » Programmierung/Entwicklung » PHP und MySQL » Objekt oder Array?

Objekt oder Array?

Pozor
Beiträge gesamt: 892

19. Mai 2003, 17:43
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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)

Objekt oder Array?

oesi50
  
Beiträge gesamt: 2315

19. Mai 2003, 19:38
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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

Objekt oder Array?

Pozor
Beiträge gesamt: 892

19. Mai 2003, 23:14
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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

Objekt oder Array?

Anonym
Beiträge gesamt: 22827

19. Mai 2003, 23:30
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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

Objekt oder Array?

Pozor
Beiträge gesamt: 892

20. Mai 2003, 12:54
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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

Objekt oder Array?

oesi50
  
Beiträge gesamt: 2315

20. Mai 2003, 13:17
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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.

Objekt oder Array?

Pozor
Beiträge gesamt: 892

20. Mai 2003, 13:48
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
hallo oesi,

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

gruss pozor

Objekt oder Array?

oesi50
  
Beiträge gesamt: 2315

20. Mai 2003, 14:04
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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

(Dieser Beitrag wurde von oesi50 am 20. Mai 2003, 14:05 geändert)

Objekt oder Array?

Miro Dietiker
Beiträge gesamt: 699

20. Mai 2003, 14:22
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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

Objekt oder Array?

Pozor
Beiträge gesamt: 892

20. Mai 2003, 15:27
Bewertung:

gelesen: 1997

Beitrag als Lesezeichen
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

(Dieser Beitrag wurde von Pozor am 20. Mai 2003, 15:29 geändert)