php - 通过将 PHP 对象存储在 session 变量中来使它们保持事件状态是常见的做法吗?

标签 php

我是使用 PHP 的 OOP 新手,这个想法在某些方面似乎有点毫无意义。在非基于网络的语言中,对象贯穿程序的整个生命周期(从执行到退出)。在这种情况下,它非常有意义,因为您构建类然后在运行时初始化它,之后您可以根据需要经常访问它。然而,对于 Web 编程,由于应用程序的执行可能发生在许多阶段(页面加载),因此对象的生命周期最终可能只是应用程序运行时间的一小部分。所以在我看来,在应用程序使用过程中保持对象事件的唯一选择是在 session 变量中初始化后存储该对象。这是常见做法还是有其他方法可以更有效地利用 PHP 中 OOP 的强大功能?

最佳答案

PHP 的网站上有一篇专门针对此问题的文章:Serializing objects - objects in sessions .在您的 session 中序列化对象绝对没有错,但正如本文所建议的:

It is strongly recommended that if an application serializes objects, for use later in the application, that the application include the class definition for that object throughout the application. Not doing so might result in an object being unserialized without a class definition...

关于php - 通过将 PHP 对象存储在 session 变量中来使它们保持事件状态是常见的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6352896/

相关文章:

php - 连接mysql时出错

javascript - 我搞砸了 JSON 对象、数组和字符串

php - 将多个复选框值插入 MySQL

javascript - 无法生成使用js或php下载的文件

php - SQL 查询错误

php - 如何将 PayPal 订阅正确链接到我的数据库?

php - 配置 PHP Monolog 以通过流登录到 Amazon S3

php - 在不引用 Closure 内部类的情况下测试 PHP Closure

php - 在 SilverStripe ModelAdmin 中搜索关系记录

php - CodeIgniter Active Record 多个