Правильна сериализация (serialize) перед збереженням в базу даних

Персональна сторінка shra, блог фріленсерів, веб-розробника на PHP. Тут я ділюся своїм досвідом і думками, проводжу досліди над людьми, збираю нематеріальні свідоцтва власної дурості. Використовуючи приклади програмного коду з даного сайту, ви приймаєте всю відповідальність за можливі наслідки їх використання, включаючи ваше психічне здоров'я і інтереси третіх осіб.

Блог / На першій шпальті / Правильна сериализация (serialize) перед збереженням в базу даних

А хотілося б почати зі слів - якщо нічого не виходить, прочитайте нарешті інструкцію. Функції serialize - unserialize відмінно працюють в PHP, і чим далі, тим краще :). Проте на форумах тут і там зустрічаються теми на кшталт - «А чим замінити сериализацию в PHP?» Або «Серіалізация своїми руками ..» (полювання додати при цьому - «кривими руками» або створити тему - «Серіалізация через ж ...») .

Як правило, проблеми виникають після вилучення збережених серіалізовать даних з БД. Масиву не десеріалізуются, об'єкти не працюють і прочая ...

Що не так з об'єктами

Опис класу має йти до того як ви виконаєте unserialize. Якщо потрібно виконати на цьому етапі якісь дії над об'єктом - опишіть в класі функцію __wakeup ().

Що не так з базою даних

Характерно, що при збереженні в бд текстових полів (в залежності від визначення полів таблиці), ви втрачаєте фігурні дужки, які як раз з'являються при серіалізациі масивів і об'єктів. Підготуйте дані в такий спосіб:

Схожі статті