|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.06.2011, 14:19 | #1 |
Форумчанин
Регистрация: 08.11.2010
Сообщений: 593
|
Запись объекта в файл
Добрый день, может кто подсказать как мне записать объект в файл, а именно, сам объект содержит в себе n-количество полей с видимостью public , все они статичны, т.е. им изначально присвоено значение.
Я как понимаю мне для это сериализация нужна? |
19.06.2011, 14:36 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Да, и что-нибудь вроде get_object_vars() или get_class_vars().
|
19.06.2011, 19:04 | #3 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Напишите свой сериализатор с необходимой Вам вложенностью.
|
20.06.2011, 09:14 | #4 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
(они статичны) != (т.е. им изначально присвоено значение) Статичное поле - это поле с модификатором static, присвоено ли ему значение отличное от NULL или нет это не важно. Все не static поля обьекта сериализуются стандартным serialize.
Стрелок-охотник
Последний раз редактировалось mv28jam; 20.06.2011 в 09:16. |
|
21.06.2011, 23:49 | #5 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
file_put_contents($filename, serialize($obj));
|
22.06.2011, 13:15 | #6 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Напоминаю... незаметно ! - serialize НЕ упаковывает статик-свойства объектов !!!
Если вы хотите воспользоваться сериалайзом - то создайте функции __sleep() и __wakeup(), в которых все static переменные будут спрятаны в обычные переменные класса, и вытащены оттуда, соответственно. Только, как и mv28jam, я не могу понять, static они или нет ? Вы можете как-то внести ясность в этот вопрос? Потому что при распаковке класса восстановить их static-статус не получится (хе-хе). Да и не надо, если у вас уже есть нераспакованные объекты того же класса, в таком случае static переменные уже есть, т.к. они общие для всех объектов данного класса. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запись в файл | 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 |