0

我已经构建了一个聊天插件,其中包含一个 chat.php 控制器、chat_model.php、chat_view.php 和 chat.js。我还使用 jQuery 向控制器执行 AJAX 请求。

聊天可以作为自己的网页正常工作(带有专用的控制器 + 视图),但最终我希望聊天能够在其他控制器中运行和访问,并且能够以更独立/模块化的方式在其他网页中查看。我只是不确定构造它的 MVC 方式会是什么样子。

我应该将聊天控制器转换为库,以便其他控制器可以访问它吗?如果是这样,这对我的 AJAX 请求意味着什么?我是否能够向库文件发出 AJAX 请求,还是仍需要保留一个(较小的)聊天控制器作为这些 AJAX 请求和库之间的中间人?

如果不是库,有没有办法更模块化地使用控制器,它们可以合作并被其他控制器调用?

4

1 回答 1

0

您需要将聊天控制器更改为库类构造函数并将模型更改为该聊天库的类主体,并在您的应用程序中自动加载该库,然后在要显示聊天的控制器中获取聊天视图,并将其分配给在当前控制器视图中使用的变量。像:

class myChat {

    public __construct(){
        // controller codes here
    }

    public saveChatMessage($message){
        // model codes here
    }

}

那么对于意见,

//in any controller you want to display the chat
$this->load->view("controller.php");
$this->load->view("chat.php");

或者

$data["chatview"] = $this->load->view("chat.php","",true);
$this->load->view("controller.php",$data);

对于后端 AJAX 响应者,您需要一个控制器以基于 URL 的格式访问它们。

于 2012-05-25T07:10:11.540 回答