Наш следующий хабратопик будет посвящен сериализации массивов в JavaScript для последующей десериализации в PHP. Таким образом в нашей системе CMS S.Builder, например, реализовано сохранение настроек интерфейса визуального редактора – пользователь помечает кнопки тулбара, которые нужно показывать в визуальном редакторе, указывает другие настройки, затем жмет Сохранить. Формируется массив настроек, затем он сериализуется и передается AJAX-ом на сервер. На сервере полученная строка пишется в базу. При выводе тулбара PHP-скрипт обращается к базе, вытаскивает строку, десериализует массив и затем выводит нужные кнопки и пр.
Функция сериализации довольно проста и состоит из нескольких строк:
Функции передается массив, который необходимо сериализовать, возвращается строка.
В PHP соотв. для десериализации просто вызываем unserialize. Надеемся, кому-нибудь это понадобится.
Так же есть интересный пример тут:
kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_serialize
Функция сериализации довольно проста и состоит из нескольких строк:
- function sbSerialize (a)
- {
- var res = "";
- var total = 0;
- for (var key in a)
- {
- total++;
- res += "s:" + String(key).length + ":\"" + String(key).replace(/"/g, "\\\"") + "\";s:" + String(a[key]).length + ":\"" + String(a[key]).replace(/"/g, "\\\"") + "\";";
- }
- res = "a:" + total + ":{" + res + "}";
- return res;
- }
* This source code was highlighted with Source Code Highlighter.
Функции передается массив, который необходимо сериализовать, возвращается строка.
В PHP соотв. для десериализации просто вызываем unserialize. Надеемся, кому-нибудь это понадобится.
Так же есть интересный пример тут:
kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_serialize