Что такое PHP's, сериализируют () функцию для?

Я предпочитаю добавить явный «выход» к тестам цикла. Любой случайный читатель дает понять, что цикл может закончиться рано.

boolean earlyExit = false;
for(int i = 0 ; i < 10 && !earlyExit; i++) {
     for(int j = 0 ; i < 10 && !earlyExit; j++) { earlyExit = true; }
}
33
задан Wesley Murch 8 February 2014 в 19:39
поделиться

3 ответа

Сериализация PHP позволяет вам сохранять массив или объект в текстовой форме. При назначении массивов таким вещам, как $ _SESSION, он позволяет PHP сохранять его в текстовом файле, а затем воссоздавать его позже. Подобным образом сериализация используется для объектов и переменных. (Просто убедитесь, что вы заранее объявили класс, который использует объект)

Wordpress, с другой стороны, использует его для очень похожего метода, сохраняя сериализованные массивы непосредственно в базе данных. Если вы ведете базу данных ключей => значений, это может быть очень полезно из-за гибкости массивов, вы можете хранить что угодно в параметре значения.

И вот ссылка (любезно предоставлена ​​первым комментатором): http : //us3.php.net/serialize

27
ответ дан 27 November 2019 в 18:26
поделиться

Я часто вижу серализованное хранилище данных в базе данных, и мне это очень не нравится:

  • действительно сложно работать в SQL с этими данными: как вы записываете условия для сериализованных данных ? Еще сложнее: как его обновить? Вы действительно пишете PHP-скрипт, который извлекает все строки, десериализует их, изменяет их, повторно сериализует и сохраняет их обратно в БД? : - (
  • в тот день, когда вы захотите перенести свои данные в другое программное обеспечение, потребуется больше работы для переноса данных (и даже больше работы, если новое программное обеспечение написано не на PHP, кстати)

Тем не менее, я признаю, что это простой способ хранения нечетко определенных данных ... и я иногда использую его для этого ...

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

Если это две системы - PHP, вы можете предусмотреть использование сериализации / десериализации . Но и здесь: что, если одна из систем больше не является PHP? Использование JSON или SOAP, вероятно, лучший выбор: поначалу немного сложнее, но, вероятно, более долгосрочное решение, так как эти форматы известны и на других языках.

Я использую PHP serialize . функция заключается в хранении данных в кэше (например, в кэше пользователя APC) в приложении PHP: вы не можете хранить объекты как есть: вы должны сериализовать их. Поскольку кеш используется только одним приложением, нет необходимости использовать формат, известный на многих языках; Итак, сериализация в порядке ... И, чтобы хранить данные в кеше,

16
ответ дан 27 November 2019 в 18:26
поделиться

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

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

7
ответ дан 27 November 2019 в 18:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: