Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Ajax(Extjs)-PHP应用程序设计控制器?_Php_Model View Controller_Frameworks_Extjs_Architecture - Fatal编程技术网

如何为Ajax(Extjs)-PHP应用程序设计控制器?

如何为Ajax(Extjs)-PHP应用程序设计控制器?,php,model-view-controller,frameworks,extjs,architecture,Php,Model View Controller,Frameworks,Extjs,Architecture,该应用程序是用ExtJs、(Json)、PHP和MySQL设计的。超过一半的逻辑/模型将位于服务器端。而逻辑的重要部分是ExtJs前端。这主要是一个单页应用程序,因此传统的MVC前端控制器/路由在这里不起作用。我仍然希望设计一个php控制器来管理与服务器的交互。如何最好地做到这一点?我建议从“web服务”的角度考虑服务器。本质上,ExtJS前端代码就是应用程序,而后端“web服务”只提供获取和存储数据的方法 基本上是这样的: 基于ExtJS的“UI层” 基于JavaScript的“控制器层”与

该应用程序是用ExtJs、(Json)、PHP和MySQL设计的。超过一半的逻辑/模型将位于服务器端。而逻辑的重要部分是ExtJs前端。这主要是一个单页应用程序,因此传统的MVC前端控制器/路由在这里不起作用。我仍然希望设计一个php控制器来管理与服务器的交互。如何最好地做到这一点?

我建议从“web服务”的角度考虑服务器。本质上,ExtJS前端代码就是应用程序,而后端“web服务”只提供获取和存储数据的方法

基本上是这样的:

  • 基于ExtJS的“UI层”
  • 基于JavaScript的“控制器层”与UI层配合使用
  • 基于PHP的“服务层”
  • UI层与控制器层交互,然后控制器层与服务层交互
服务层本质上与任何典型的PHPWeb应用程序相同:它将包含数据验证、输入过滤、数据库查询,以及所有常见的内容。主要区别在于,服务层不会使用PHP生成HTML,然后发送到浏览器,而只会将结果序列化为JSON

JS代码中的控制器层将执行对服务的Ajax请求。它将处理JSON结果,并告诉UI层它应该显示什么。它还将包含处理来自UI的事件的方法

UI层的作用有点像模板引擎或HTML代码。它将显示从控制器层分配给它的数据,并调用控制器层中的函数来处理诸如按下按钮之类的事件