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

时间:2012-06-26 17:53:03

标签: php json codeigniter

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

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

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

有没有办法做到这一点。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

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