0

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

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

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

有没有办法做到这一点。

4

2 回答 2

1

您需要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();

于 2012-06-26T18:07:31.443 回答
0

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

于 2012-06-26T18:02:21.600 回答