将 JSON 对象从一个控制器传递到不同项目中的另一个控制器


Passing a JSON object from one controller to a different controller in different project

我一直在尝试在两个CodeIgniter项目之间进行通信。

我有 2 个项目,比如 A 和 B。 每当从 A 调用视图时,它应该命中项目 B 的控制器而不是 A。

我想只允许数据库访问项目 B 而不是 A.所以所有数据库查询都应该在我的 B 中执行,所有显示都应该由 A 完成

有没有办法做到这一点。

你需要像这样扩展类CI_Loader

class ClassNameYouWant extends CI_Loader {
    public function construct(){ 
            parent::__construct(); 
    }
    public  function ExtendedView($view, $vars = array(), $return = FALSE){
        parent::view($view, $vars, $return);
        // run your code here
        // call projet B using cURL or whatever you want
    }
}

如果要在加载视图之前运行代码,请在函数末尾调用行parent::view($view, $vars, $return);

您必须在控制器中加载类,然后使用类似

$this->ClassNameYouWant->ExtendedView();

如果CodeIgniter的MVC与CakePHP类似,则需要接受控制器A中的数据,然后使用HTTP套接字连接到服务器B,并将在控制器A中收到的数据传输到控制器B。然后,控制器 B 可以运行其业务逻辑,并将更多 JSON 数据(作为 HTTP 响应)返回给控制器。