我正在编写我的第一个 CodeIgniter 应用程序(非常熟悉 PHP,但不熟悉 CI)并进行以下设置:
我有一个 Controller Signup,它控制注册过程。 Controller 的每个功能都是该过程的下一步。我有一个对象 Did
,目前正在将其作为库加载。该对象的属性/变量会随着注册过程的进行而更新。
我遇到的问题是注册 Controller 的一个函数的属性不会转移到下一个函数。就好像该类是用每个函数重新构建的。
是否有一种方法可以在整个 Controller 中重用该类,而无需重新实例化它?我也不想序列化并存储在 session 中。
提前致谢。
最佳答案
一如既往,同一问题有多种解决方案。如果它不适合您的实现,请忽略它。
将注册步骤保留在对象中是一个好主意 - 但是,每次加载新页面时,CI 都会重建所有对象。为了使数据持久存在,应将其存储在 session 中,但这并不意味着您必须在 Controller 中使用 session 变量。
您如何将数据传输到您的应用程序?是通过表单还是ajax?
实现此目的的一种方法是从 session 中反序列化对象并将其作为对象存储在 Controller 的构造函数中。这样您仍然可以对其运行 $myObj->function() 并使用 $myObj->save() 函数重新序列化和存储它。
希望有帮助!
关于php - 在整个 Codeigniter Controller 中重用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6612468/