Aktives Mitglied
Hallo PSD'ler und PHP-Gurus darin,
ich verwende serialize() auf einem utf-8 Textfeld in einer Datenbank (um ein Array dort abzulegen). Ja, mir ist die Problematik in Bezug auf "multibyte" und das später erforderliche unserialize() bekannt und dafür habe ich eine simple, aber super effektive, Maßnahme ergriffen.
Gestern bekam ich erstmals eine Notice in meiner Entwicklungsumgebung: "Error at offset 330 of 745 bytes" - auf Zeile 760.
Dort steckt mein mb_unserialize() (eigene Funktion für "multibyte") - aber die ist nicht falsch, verändert o. ä. Diese wird projektweit verwendet und läuft 1A.
Also ist im offset 330 was "komisch", wo die Funktion wohl stolpert - so, jetzt die Gretchenfrage: ...
Ich finde im Netz Tonnen zu "undefined offset", aber wie kann ich stilvoll meine Funktion dahingehend erweitern, dass mir im Falle eines solchen erneuten Auftretens (kommt nämlich nicht immer) der String, welcher da unserialise()'d werden soll, zugeschickt wird?
Ich dachte an ein try-catch-Gebilde, will aber nicht unnötig "Perlen (Performance) vor die Säue" werfen, da diese eigene Funktion stark frequentiert wird (Einschränkung auf Entwicklungsumgebung natürlich möglich).
In den üblichen Logs steht die gleiche Meldung nur nochmals ... leider nicht so umfangreich wie gewünscht.
Gäbe es noch eine andere Möglichkeit oder ist es viel einfacher??
Denn: Den "String" brauche ich deshalb, da dort Wort- und Satzgeflechte zusammengesetzt werden - im Baukastenstil. Sehe ich den String, weiß ich, wo ich in den 25.000 Zeilen suchen bzw. ansetzen muss. Das Array ist also nicht das Problem, sondern der Value dahinter (ich tippe auf was Unmaskiertes, aber die Content-Geflechte sind alle richtig [da schon geprüft]) ...
Vielen Dank für alle Denkanstöße.
ich verwende serialize() auf einem utf-8 Textfeld in einer Datenbank (um ein Array dort abzulegen). Ja, mir ist die Problematik in Bezug auf "multibyte" und das später erforderliche unserialize() bekannt und dafür habe ich eine simple, aber super effektive, Maßnahme ergriffen.
Gestern bekam ich erstmals eine Notice in meiner Entwicklungsumgebung: "Error at offset 330 of 745 bytes" - auf Zeile 760.
Dort steckt mein mb_unserialize() (eigene Funktion für "multibyte") - aber die ist nicht falsch, verändert o. ä. Diese wird projektweit verwendet und läuft 1A.
Also ist im offset 330 was "komisch", wo die Funktion wohl stolpert - so, jetzt die Gretchenfrage: ...
Ich finde im Netz Tonnen zu "undefined offset", aber wie kann ich stilvoll meine Funktion dahingehend erweitern, dass mir im Falle eines solchen erneuten Auftretens (kommt nämlich nicht immer) der String, welcher da unserialise()'d werden soll, zugeschickt wird?
Ich dachte an ein try-catch-Gebilde, will aber nicht unnötig "Perlen (Performance) vor die Säue" werfen, da diese eigene Funktion stark frequentiert wird (Einschränkung auf Entwicklungsumgebung natürlich möglich).
In den üblichen Logs steht die gleiche Meldung nur nochmals ... leider nicht so umfangreich wie gewünscht.
Gäbe es noch eine andere Möglichkeit oder ist es viel einfacher??
Denn: Den "String" brauche ich deshalb, da dort Wort- und Satzgeflechte zusammengesetzt werden - im Baukastenstil. Sehe ich den String, weiß ich, wo ich in den 25.000 Zeilen suchen bzw. ansetzen muss. Das Array ist also nicht das Problem, sondern der Value dahinter (ich tippe auf was Unmaskiertes, aber die Content-Geflechte sind alle richtig [da schon geprüft]) ...
Vielen Dank für alle Denkanstöße.