Serialisiertes PHP-Objekt zu JSON-Objekt Konverter
Serialisiere und deserialisiere Daten in PHP ganz einfach mit unserem vielseitigen PHP-Serialisierungs- und Deserialisierungstool. Dieses Online-Tool eignet sich ideal für Entwickler, die komplexe Datenstrukturen in speicherbare Zeichenfolgen umwandeln und wieder in ihre ursprüngliche Form zurückführen möchten. Verarbeite Daten genau und effizient, ohne Software installieren zu müssen. Optimiere deinen PHP-Entwicklungsworkflow mit diesem benutzerfreundlichen und zuverlässigen Tool.
Häufig gestellte Fragen
Um Daten in PHP zu serialisieren, gib deine Datenstruktur (Array, Objekt oder Skalarwert) in das vorgesehene Feld ein und klicke auf „Serialize“. Das Tool wandelt komplexe Datenstrukturen mithilfe des PHP-Serialisierungsprotokolls in ein speicherbares Zeichenformat um. Dieses Format lässt sich in Dateien oder Datenbanken speichern oder über Netzwerke übertragen.
Um Daten in PHP zu deserialisieren, gib den serialisierten Zeichenstring (der üblicherweise mit einem Formatindikator wie a:, s: oder O: beginnt) in das vorgesehene Feld ein und klicke auf „Deserialize“. Das Tool wandelt den Zeichenstring zurück in seine ursprüngliche Datenstruktur und stellt Arrays, Objekte und Werte genau wie vor der Serialisierung wieder her.
Die Serialisierung wandelt komplexe Datenstrukturen in speicherbare Zeichenketten um und ermöglicht so die dauerhafte Speicherung von Daten in Dateien oder Datenbanken, die Datenübertragung über Netzwerke, die Speicherung von Sitzungsdaten, Caching-Mechanismen, Nutzdaten für Nachrichtenwarteschlangen und die Erhaltung des Objektstatus zwischen Anfragen. Die Deserialisierung stellt die ursprünglichen Daten zur weiteren Verwendung wieder her.
PHP serialisiert Strings, Integer, Floats, Booleans, Arrays, Objekte und NULL-Werte. Array-Schlüssel, Objekteigenschaften (öffentlich, geschützt, privat), verschachtelte Strukturen und Datentypen bleiben erhalten. Ressourcen (wie Datenbankverbindungen oder Datei-Handles) können jedoch nicht serialisiert werden und erfordern eine spezielle Behandlung.
Ja, beim Deserialisieren nicht vertrauenswürdiger Daten kann es zu PHP-Objektinjection-Angriffen kommen. Angreifer können schädliche serialisierte Zeichenstrings erstellen, die über Magic Methods (__wakeup, __destruct) Code ausführen. Deserialisiere niemals ungeprüfte Benutzereingaben oder externe Daten. Verwende für nicht vertrauenswürdige Daten JSON oder schränke die erlaubten Klassen mit allowed_classes ein.
Ja, PHP serialisiert benutzerdefinierte Objekte und bewahrt dabei alle Eigenschaften und ihre Werte. Die Klassendefinitionen müssen jedoch vor dem Deserialisieren geladen sein, damit die Objekte korrekt wiederhergestellt werden. Verwende Autoloading, binde Klassendateien ein oder implementiere für ein eigenes Serialisierungsverhalten die Magic Methods __sleep() und __wakeup().
PHPs serialize() bewahrt exakte Datentypen, private und geschützte Eigenschaften sowie Klasseninformationen von Objekten, funktioniert aber nur in PHP. JSON ist sprachunabhängig, lesbar, webfreundlich und mit allen Sprachen kompatibel, bewahrt jedoch keine privaten Eigenschaften und keine exakten PHP-Datentypen. Verwende serialize() für die Speicherung ausschließlich in PHP und JSON für APIs und Interoperabilität.
PHP serialisiert Sitzungsdaten ($_SESSION) automatisch, um sie zwischen Anfragen zu speichern. Wenn du Arrays oder Objekte in Sitzungen speicherst, serialisiert PHP sie in Dateien oder Datenbanken und deserialisiert sie beim nächsten Laden der Seite. So bleiben der Benutzerstatus, Warenkörbe und Anmeldedaten über mehrere Seitenaufrufe hinweg erhalten.
Ja, speichere serialisierte Daten in TEXT- oder BLOB-Spalten der Datenbank. Serialisierte Daten lassen sich jedoch nicht effizient abfragen, indizieren oder durchsuchen. Verwende Serialisierung, wenn du vollständige Objekte als einzelne Einheiten speicherst. Wenn du einzelne Felder abfragen oder Datenbeziehungen pflegen musst, eignen sich JSON oder normalisierte Tabellen besser.
Serialisierte Daten verwenden Formatpräfixe: s:5:"hello" (Zeichenstring), i:42 (Ganzzahl), a:2:{...} (Array), O:4:"User" (Objekt). Die Zahlen geben die Länge oder Anzahl an. Das Format ist kompakt, aber nicht menschenlesbar. Verwende unser Tool, um lesbares JSON in das PHP-Serialisierungsformat und zurück umzuwandeln und so Daten zu debuggen und zu bearbeiten.
Deserialisiere die Daten, um ihre Struktur zu prüfen. Verwende print_r() oder var_dump() für deserialisierte Werte, wandle sie zur besseren Lesbarkeit in JSON um, prüfe auf unvollständige Serialisierung oder beschädigte Daten, vergewissere dich, dass die Klassen für Objekte verfügbar sind, und nutze unser Tool, um komplexe serialisierte Strukturen zu visualisieren und zu verstehen.
Die standardmäßige PHP-Serialisierung unterstützt keine Closures. Verwende dafür Pakete wie Opis Closure oder Laravels SerializableClosure. Reguläre Funktionen und Methoden in Objekten lassen sich serialisieren, wenn sie in Klassen definiert sind. Anonyme Funktionen erfordern jedoch eine spezielle Behandlung.
__sleep() wird vor der Serialisierung ausgeführt und gibt ein Array der zu serialisierenden Eigenschaften zurück (nützlich, um bestimmte Daten auszuschließen). __wakeup() wird nach der Deserialisierung zur Initialisierung ausgeführt. __serialize() und __unserialize() (PHP 7.4+) bieten mehr Kontrolle. Implementiere diese Methoden für ein eigenes Serialisierungsverhalten in deinen Klassen.
Deserialisiere vorhandene PHP-Daten, wandle sie in Arrays oder stdClass-Objekte um und kodiere sie anschließend als JSON. Aktualisiere den Code so, dass er json_encode()/json_decode() statt serialize()/unserialize() verwendet. JSON ist sicherer, lesbarer und kompatibler, allerdings gehen private Eigenschaften und die exakte Typbewahrung verloren, die die Serialisierung bietet.