Предположим, что в моем приложении у меня есть экземпляр объекта, созданный на странице 1. Затем пользователь переходит к другой части приложения, и я хочу, чтобы экземпляр оставался. Как я могу «сохранить» экземпляр? Сессии?Сохранение объекта PHP
ответ
Да, используйте session.
Вызов session_start() в начале страницы, а затем сохранить свой объект что-то вроде $_SESSION['myobject']=$myobject;
Поздняя страница может получить доступ к $_SESSION['myobject']
после его тоже вызывает session_start()
Вы должны убедиться, что любая страница который использует этот сеанс, имеет класс для определенного объекта или способен auto-loading.
Ваш класс также может определять магические методы __sleep и __wakeup, которые позволяют очищать любые переменные-члены, которые вы не хотите сериализовать (например, ресурсы, такие как дескрипторы db). Во время __wakeup вы можете восстановить их.
Существует два способа использования моих приложений: сеансов и базы данных.
Сессии да, но это будет новый экземпляр с теми же свойствами, а не тот же пример. Другие опции используют O/R-Mapper для хранения объекта в БД и сохранения ключа для него в сеансе или использования memcached с уникальным ключом (например, идентификатор сеанса), но это все равно не будет экземпляр - только экземпляр с теми же свойствами.
Если вам нужно точно такой же экземпляр объекта между двумя запросами в PHP Я боюсь, что это невозможно (не невозможно, все это выполнимо - но вам придется запускать PHP поверх некоторых тип сервера приложений)
У вас в основном есть два варианта: Состояние на стороне сервера или Состояние клиентской стороны.
Состояние на стороне сервера обычно выполняется через сеансы. Это самое простое и мощное решение, но оно имеет некоторые недостатки (параллелизм, неспособный сохранить состояние во времени и т. Д.).
Состояние клиентской стороны может поддерживаться через URL-адрес - обычно в параметрах строки запроса. Например, чтобы «запомнить» переменную $name
между двумя страницами, вы можете создать ссылку на первой странице, например: http://www.example.org/second_page.php?name=Jimbo
, а вторая страница может получить переменную через $_GET
. Это намного сложнее добиться, и у него есть некоторые ограничения на то, сколько состояний вы можете перенести между страницами. По этой причине у людей есть склонность идти со статусом на стороне сервера, даже если состояние клиентской стороны было бы более подходящим.
- 1. Сохранение объекта в php
- 2. PHP сохранение объекта в сессии
- 3. Сохранение объекта PHP в сеансе?
- 4. Сохранение объекта хранения и сохранение идентификатора объекта
- 5. Сохранение управляемого объекта объекта для конкретного объекта
- 6. Parse - Сохранение объекта против объекта и сохранение коллекции
- 7. Сохранение объекта в файлах
- 8. Сохранение объекта авторизации
- 9. Сохранение объекта в массиве
- 10. сохранение объекта в сеансе
- 11. NHibernate Сохранение объекта
- 12. Сохранение объекта с Sequelize
- 13. Сериализует сохранение идентичности объекта?
- 14. Сохранение копии текущего объекта
- 15. C# Сохранение значений объекта
- 16. Сохранение объекта в mongodb
- 17. Java, сохранение объекта Timezone
- 18. Java: Сохранение свойств объекта
- 19. Сохранение объекта в Parse
- 20. Сохранение java-объекта PostgreSQL
- 21. Сохранение объекта в файл
- 22. Сохранение объекта JPA дважды
- 23. Сохранение объекта в C#
- 24. Hibernate Сохранение сложного объекта
- 25. Сохранение объекта холста Tkinter
- 26. Сохранение изображения объекта DOM
- 27. Сохранение объекта с Hibernate
- 28. Django: сохранение маринованного объекта
- 29. Сохранение объекта Javascript
- 30. Сохранение объекта список_выбора