2013-06-29 2 views
0

Я использую Java и Spring Framework. Но не так давно я начал изучать PHP, чтобы познакомиться с другим языком.Где хранить переменные globals в PHP?

Я пытаюсь написать простую вещь для рисования с использованием html canvas, поэтому более 1 пользователь может использовать это в то же время для рисования.

В Java я бы использовал переменную класса в контроллере для хранения рисунка от пользователей. И каждые 1-2 секунды пользователи отправляют запрос с новыми данными, которые они нарисовали, поэтому я могу добавить изменения в глобальную переменную. а затем отправлять изменения каждому пользователю. Когда вводится новый пользователь, сервер отправляет ему всю картину.

Итак, мой вопрос: как я могу хранить глобальную переменную приложения в PHP? как в этом примере с изображением ... Как я вижу, после завершения PHP останавливается, и все переменные умирают вместе с ним, правильно? Итак, есть ли способ сделать переменное приложение глобальным? Так я могу получить доступ к нему из разных частей приложения?

Я могу сохранить его в текстовом файле до завершения скрипта. и каждый раз, когда возникает новый запрос, читайте его снова из текстового файла, вносите изменения, а затем записывайте обратно в текстовый файл ... но это так сумасшествие ... нет никакого способа, как в Spring Framework и Java, которые я использовал раньше ?

+1

В базе данных файл или кеш файловой системы, например memcache или redis –

+0

thx много для всех !!! – user2452103

+0

Возможный дубликат [Объявление глобальной переменной с помощью php.ini] (http://stackoverflow.com/questions/5052558/declaring-global-variable-with-php-ini) – Omar

ответ

1

Вам нужна форма постоянного хранения. Постоянным я имею в виду хранилище, которое не основано на сеансе отдельного пользователя, например, на массиве $GLOBALS. PHP Sessions полезны для хранения для одного пользователя, но один пользователь не может получить доступ к данным сеанса другого пользователя.

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

хранения базы данных

Заканчивать РНР mysqli_query() для получения дополнительной информации о делает это с помощью базы данных. Для этого потребуется знание синтаксиса MySQL.

хранения файлов

Заканчивать РНР file_get_contents() и file_put_contents() примеры о том, как легко взаимодействовать с извлечения данных из файлов и установочных данных в файлах.

Смежные вопросы