PHP делает объект доступным глобально для AJAX - PullRequest
0 голосов
/ 01 ноября 2011

Я думаю, что это может быть дублирование этого вопроса , но я не совсем понимаю ответ

Я хотел бы создать новый объект в начале моего сценария / страницы,Страница состоит из нескольких шагов, и я хотел бы использовать Ajax с отдельными файлами PHP для каждого шага.Однако пара этих шагов потребует внесения изменений в объект.

Каков правильный подход для этого.Я использую JQuery Ajax.

Это в основном страница оформления заказа, но последние этапы генерируются в зависимости от выбранных параметров.

Ответы [ 3 ]

1 голос
/ 01 ноября 2011

Вы можете иметь объект, представляющий таблицу базы данных.Если это объект User, создайте свою пользовательскую таблицу и измените объект, загрузив его с идентификатором через запрос JSON.По сути, не замораживайте его всякий раз, когда вы делаете AJAX-запрос, затем изменяете его и помещаете обратно в базу данных.

Или вы можете просто вставить его в $_SESSION, но помните, что ваш объект должен бытьвозможность сериализации себя полностью.

1 голос
/ 01 ноября 2011

То, что вы пытаетесь сделать, - это сохранять эти данные доступными по нескольким соединениям, сохраняя их.В PHP это действительно просто, просто используйте сессии.

Прежде всего, если вы хотите получить доступ к постоянным данным (или сохранить их), вам нужно начать сеанс.Сделайте это так:

session_start();

С этого момента все, что вы добавляете в него, будет сохраняться (за некоторыми исключениями - например, сохранение соединения MySQL, вероятно, будет работать не слишком хорошо).Не волнуйтесь, данные сохраняются только для пользователя.Другие люди не смогут получить доступ к корзинам других людей или, например, к прогрессу в форме.

Вот как вы сохраняете данные для сеанса:

$obj = new MrClass();
$_SESSION['form_object'] = $obj;

Позже, простодоступ к нему, как всегда:

$_SESSION['form_object']->someMethod();

Запомните: каждый запрос AJAX должен начинаться с session_start().

1 голос
/ 01 ноября 2011

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

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