我一直在尝试在两个CodeIgniter项目之间进行通信。
我有2个项目,比如A和B.每当从A调用一个视图时它应该击中项目B的控制器而不是A.
我想允许数据库只访问项目B而不是A.所以所有数据库quires都应该执行我的B,并且所有显示应该由A完成
有没有办法做到这一点。
答案 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数据回到您的控制器。