2009-12-15 2 views
0

Мне было интересно, есть ли причина держаться подальше от сериализации объектов в PHP. Мой вариант использования - для отсроченной обработки. Пример: почтовая очередь, в которой почтовый объект будет сериализован при получении запроса на отправку, сохранен в db и неэтериализован графиком рабочего сценария.Сериализация объектов в PHP-проблемах?

Альтернативой является сохранение всей информации, необходимой для объекта в базе данных, и построение объекта в рабочем сценарии. Недостатком этого является то, что база данных будет привязана к структуре объекта, и я не хочу этого делать.

ответ

0

Встречайте посередине: для каждого почтового объекта сериализуйте только конфигурационный массив . Мне не нужно переносить базу данных с каждым изменением класса почты, и я думаю, что каждая запись в базе данных не достаточно долго для просмотра проблем с переносом данных.

3

Единственный реальный недостаток в сериализации состоит в том, что он имеет производительность. Производительность обычно масштабируется с переменным размером; чем больше ваш объект, тем больше времени для его сериализации.

Это, как говорится, трудно сказать, какой подход будет более продуктивным. Вы собираетесь использовать производительность для сериализации и безриализации своих объектов, но, с другой стороны, вам придется перестроить их. Вам нужно будет сравнить каждый метод с вашими средними почтовыми объектами, чтобы получить какие-либо жесткие данные. В стороне, я не уверен в вашем комментарии, что хранение данных объекта в базе данных связывает его со структурой объекта ... есть много способов отвлечь это.

Это говорит о том, что нет причин для того, чтобы держаться подальше от сериализации, если вы не требуете экстремальной производительности, и в этом случае вы, в конечном счете, все равно будете делать всевозможные собственные тесты. Похоже, ваш подход к сериализации прост и упрощен ... Я бы продолжил с этим.

+0

Удовлетворён., Производительность очень субъективна и зависит от использования и размеров данных (т. Е. Как часто запрашивается заданный почтовый элемент, что такое распространение от мелких до мелких предметов) – r00fus

+0

Спасибо, это приятно знать. И да, случай, который требует этого, довольно прост и вряд ли столкнется с проблемами производительности. Я больше думал о создании чего-то многоразового использования в других контекстах, где производительность может быть важной. Но я займусь этим, когда доберусь туда. –