【问题标题】:Passing an object between two controllers在两个控制器之间传递一个对象
【发布时间】:2010-07-31 14:23:36
【问题描述】:

我有两个控制器,我有一个对象。
我想在 CodeIgniter 中的两个控制器之间传递该对象。
有注册表之类的吗??


示例 -
我正在使用 ipbwi(用于 invision 电源板 3.1 集成), 在我的主控制器上,我正在这样做 - 私人 $ipbwi;

function Main()
{
    parent::Controller();   

    $this->site_url = $this->config->item('base_url');
    $this->ipb_dir = $this->config->item('ipb_dir');

    include('ipbwi/ipbwi.inc.php');
    $this->ipbwi = clone $ipbwi;
}

我想从我的管理控制器访问 $ipbwi 并且不要再次克隆这个对象。
通过传递 object ,我的意思是我可以创建对象添加控制器 A 并从控制器 B 访问它。

已修复
我使用会话类来检查用户是否已连接以及他是否是管理员。

【问题讨论】:

  • 你尝试过什么,也发布你的示例代码。
  • 什么样的对象?请解释用例。
  • 一般来说,您的控制器应该在您的应用程序中用于单独的“兴趣”。在它们之间“传递”信息的唯一原因是维护应用程序状态,在这种情况下,您可以使用会话库。

标签: php codeigniter controller


【解决方案1】:

MVC 控制器的目的是处理来自 UI 的输入并将其委托给模型中的适当类。您应该不需要在控制器之间传递对象。

【讨论】:

    【解决方案2】:

    在两个控制器之间传递一个对象到底是什么意思?

    一种方法是创建一个基本控制器,然后在基本构造函数中创建该对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      相关资源
      最近更新 更多