dedlfix: local storage

Beitrag lesen

Tach!

Da kannst Du ein Array auf 2 verschiedene Art und Weise speichern:

 1. assoziativ (Schlüssel bzw. Index, Werte),
 2. serialisiert(Schlüssel, JSON).

Der LocalStorage ist lediglich ein einzelner Key-Value-Speicher. Man kann darin nicht mehrere Tabellen anlegen, wie in einer Datenbank beispielsweise. Es ist deshalb empfehlenswert, zusammengehörende Dinge zusammenzufassen und unter einem Key abzulegen.

Der LocalStorage ist kein Array. Der Zugriff auf den Inhalt erfolgt über Methoden des Storage-Interfaces, hauptsächlich getItem('key'), setItem('key', value). (Ja, auch localStorage.key und localStorage['key'] sind möglich, ist aber im MDN wegen Nebenwirkungen in bestimmten Fällen nicht empfohlen.) Man kann zwar ein Javascript-Array oder ein Objekt auseinandernehmen und für jeden Eintrag oder jede Eigenschaft ein Key-Value-Paar im LocalStorage ablegen, aber das ist nicht gerade günstig, falls man später auf die Idee kommt, weitere Dinge dort ablegen zu wollen. Man könnte in Konflikt mit den Keys kommen. Zudem ist unnötig umständlich alle Einträge einzeln über die beiden Methoden anzusprechen. Deswegen lieber die eigene Datenstruktur serialisieren und als ein Eintrag im LocalStorage ablegen. Geht auch als Zweizeiler (serialisieren + speichern und holen + deserialisieren) einfacher, als jeden Wert extra zu behandeln.

Zudem sind wir hier auf dem Client und in Javascript, da gibt es Arrays oder Objekte. Arrays haben nur numerische Indexe. Anstelle von assoziativen Arrays, wie man sie aus PHP kennt, kann man nur Objekte nehmen.

Weiterhin ist noch gar nicht mal klar, was der OP überhaupt und eigentlich braucht. Eine PHP-Datenstruktur im Client zu speichern, um sie in PHP weiterzuverarbeiten, ist ziemlich umständlich, zumal er auf diese Idee ja nur kam, weil er mit der Laufzeit des Session-Cookies ein Problem hat.

localStorage ist an den URL gebunden, ganz ähnlich wie ein Cookie.

LocalStorage ist lediglich an die Domain gebunden. Die weiterreichenden Einstellmöglichkeiten von Cookies (Subdomains, Path) stehen nicht zur Verfügung.

P.S. Alle Ausführungen gelten auch für SessionStorage, das sich nur in der Aufbewahrungsdauer der Daten vom LocalStorage unterscheidet.

dedlfix.