我已经构建了一个由chat.php控制器、chat_model.php、chat_view.php和chat.js组成的聊天插件。我还使用jQuery来执行对控制器的AJAX请求。
聊天就像它自己的网页一样工作得很好(有一个专用的控制器+视图),但最终我希望聊天功能可以在其他控制器中访问,并能够以更独立/模块化的方式在其他网页中查看。我只是不确定MVC构建它的方式会是什么样子。
我是否应该将聊天控制器转换为库,以便其他控制器可以访问它?如果是这样,这对我的AJAX请求意味着什么?我是否能够向库文件发出AJAX请求,或者我是否仍然需要保留一个(较小的)聊天控制器来充当这些AJAX请求和库之间的中间人?
如果不是一个库,有没有一种方法可以更模块化地使用控制器,以便它们可以协作并被其他控制器调用?
发布于 2012-05-25 15:10:12
您需要将聊天控制器更改为一个库类构造函数,并将模型更改为该聊天库的类体,并在应用程序中自动加载该库,然后在要显示聊天的控制器中获取聊天视图,并将其赋给一个变量以在当前控制器的视图中使用。像这样:
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的格式访问它们。
https://stackoverflow.com/questions/10743633
复制相似问题