![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| soloweb |
|
|||
![]() Georgian ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 30.10.2006 Репутация: нет Всего: нет |
Возникла такая проблема.
Есть объект который включает свойства в ктотрых в виде массива также имеются объекты у которых те же свойства и т.д. до бесконечности это можно раскручивать. Также имеется главный объект с которого все начинается. Мне нужно сохранить свойства этого массива в MySQL 5 дабы потом ипортировать из базы и воспроизводить эту информацию. Я хотел бы так, допустим, вставить в базу в поле obj типа text insert into table set obj="$obj->products"; Но думаю это не катит. Вот прошу помочь. Может кто-то делал такую штуку. Заранее благодарю. |
|||
|
||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
РНР какой версии? про MySQL сказать не забыл, а про РНР - зась?
процесс сей называется сериализацией. для управления этим процессом в РНР 5 были введены два "магических" метода: __sleep и __wakeup. потому план работ выглядит следующим образом: если тебя не устраивает, что делает(по дефолту) с твои объектом функция serialize() - пишешь метод __sleep, который загоняет в строку те поля объекта, которые надо. если не устраивает дефолтная де-сериализация(или если ты написал-таки свой метод для сериализации) функцией unserialize(), то пишешь метод __wakeup. после проделанного, сохранение выглядит следующим образом:
и загрузка:
Вот примерно так. Правда, если у тебя РНР 4, то придется вместо serialize/unserialize + __sleep/__wakeup писать собственные методы для загрузки данных из строки и сохранения в строку(или же подстроиться под то, КАК serialize/unserialize работают с объектами "по умолчанию" - без твоего контроля). |
||||
|
|||||
| soloweb |
|
|||
![]() Georgian ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 30.10.2006 Репутация: нет Всего: нет |
PHP 5
Спасибо за помошь. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Для профи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |