php - 在整个 Codeigniter Controller 中重用类

标签 php oop codeigniter

我正在编写我的第一个 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/

相关文章:

javascript - Jquery .apply() 不是函数错误,来自实例化对象

php - codeigniter 在每个模型方法调用上初始化变量

php - CodeIgniter、PHP、jQuery 和 AJAX

PHP - 捕获 URL 变量并将其传递到下一页

javascript - php echo 将html输出为文本

perl - 如何在Perl中明确销毁对象?

php - 如何创建 Codeigniter 批量插入数组

php - 检查 PHP session 是否已经开始

javascript - Jquery Timeago 插件可与 unix 时间戳一起使用

javascript - 如何从属性访问其他对象属性