Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2011, 14:19   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию Запись объекта в файл

Добрый день, может кто подсказать как мне записать объект в файл, а именно, сам объект содержит в себе n-количество полей с видимостью public , все они статичны, т.е. им изначально присвоено значение.
Я как понимаю мне для это сериализация нужна?
CodeNOT вне форума Ответить с цитированием
Старый 19.06.2011, 14:36   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от CodeNOT Посмотреть сообщение
Я как понимаю мне для это сериализация нужна?
Да, и что-нибудь вроде get_object_vars() или get_class_vars().
Andkorol вне форума Ответить с цитированием
Старый 19.06.2011, 19:04   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Напишите свой сериализатор с необходимой Вам вложенностью.
Виталий Желтяков вне форума Ответить с цитированием
Старый 20.06.2011, 09:14   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
Добрый день, может кто подсказать как мне записать объект в файл, а именно, сам объект содержит в себе n-количество полей с видимостью public , все они статичны, т.е. им изначально присвоено значение.
Юстас Алексу блин!
(они статичны) != (т.е. им изначально присвоено значение)
Статичное поле - это поле с модификатором static, присвоено ли ему значение отличное от NULL или нет это не важно. Все не static поля обьекта сериализуются стандартным serialize.
Стрелок-охотник

Последний раз редактировалось mv28jam; 20.06.2011 в 09:16.
mv28jam вне форума Ответить с цитированием
Старый 21.06.2011, 23:49   #5
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию

file_put_contents($filename, serialize($obj));
eduard93 вне форума Ответить с цитированием
Старый 22.06.2011, 13:15   #6
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Напоминаю... незаметно ! - serialize НЕ упаковывает статик-свойства объектов !!!
Если вы хотите воспользоваться сериалайзом - то создайте функции __sleep() и __wakeup(), в которых все static переменные будут спрятаны в обычные переменные класса, и вытащены оттуда, соответственно.
Только, как и mv28jam, я не могу понять, static они или нет ? Вы можете как-то внести ясность в этот вопрос? Потому что при распаковке класса восстановить их static-статус не получится (хе-хе). Да и не надо, если у вас уже есть нераспакованные объекты того же класса, в таком случае static переменные уже есть, т.к. они общие для всех объектов данного класса.
graymaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в файл hiho Общие вопросы Delphi 7 11.03.2011 04:50
CLR. Ошибка C3918. Как вызвать из объекта обработчик, переданный родителю объекта от деда? Stilet Общие вопросы .NET 0 15.01.2011 17:49
Запись в файл (С) ya chef Помощь студентам 0 15.12.2009 13:49
Сохранение объекта в файл garybaldi Помощь студентам 4 30.10.2009 09:55
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта User>lia Общие вопросы Delphi 4 16.01.2009 16:37