繁体   English   中英

Codeigniter:我应该如何构造我的聊天插件,以便可以将其加载到其他页面中?

[英]Codeigniter: How should I structure my chat plugin so that it can be loaded in other pages?

我建立了一个聊天插件,由chat.php控制器,chat_model.php,chat_view.php和chat.js组成。 我还使用jQuery对控制器执行AJAX请求。

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

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

如果不是库,是否有一种方法可以更模块化地使用控制器,以便它们可以协作并被其他控制器调用?

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

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的格式访问它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM