Лучший способ сохранить значение переменной между сценариями в PHP? - PullRequest
0 голосов
/ 04 мая 2018

Допустим, я хочу иметь переменную, которая должна сохранить ее значение.

Простой пример:

<?php
$files = array('file1.txt','file2.txt','file3.txt'); // list of the files to process
$file = file_get_contents($files[$i]);
process_the_file($file);
$i++;
exit();

Так что я бы хотел обрабатывать только один файл за один запуск скрипта. И в моем случае индекс обрабатываемого файла: $i.

На мой взгляд, доступны два метода:

  1. Сохранить переменную в файле . Я могу сериализовать (и десериализовать при инициализации) любые данные и сохранить в текстовом файле. Однако я должен следить за завершением сценария, чтобы быть уверенным, что необходимые значения будут сохранены до завершения сценария.
  2. Использовать базу данных . Это выглядит громоздко и, как описано ранее, я должен следить за хранением.

Так что оба метода выглядят слишком сложными. Есть ли лучшее решение ?

1 Ответ

0 голосов
/ 04 мая 2018

Решение зависит от задачи:

  1. Использовать систему кеша (memcached, redis и т. Д.) - когда вам нужно хранилище времени выполнения (то есть значения могут быть удалены и не нарушат логику приложения).

  2. Использовать БД (MySQL, Mongo) - когда вам нужно постоянное хранилище для значений (то есть значения не могут быть удалены - это нарушит логику приложения).

  3. Использовать файлы для обоих вариантов.

Сессии достаточно хороши, когда вам нужно хранить данные для одного пользователя между запросами.

Лучшее решение - это решение, наиболее подходящее для вашей задачи. Я бы порекомендовал использовать один или два варианта: в проектах, где я работаю, мы используем memcached для хранения во время выполнения и mongodb для постоянного хранения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...