我希望以最好的方式构建我的应用程序。
我正在添加"服务"部分到我的申请。这将包括一个索引方法,以及应该通过/service/service1/
或/service/service2/
等达到的多个服务。
我想为每项服务设一个ServiceController
和一种方法。然后,每个服务都会有一些ajax方法,例如/service/service1/getdata
。但是使用这种结构getdata
不是它自己的方法,而是一个变量(我可以提供service1
函数,但它不是我想要的)。
我已经考虑过提供服务"插件,但如果我想要做的就是将/service/
部分添加到URL中,那会感到多余。
也是路由,但我无法想出一个好方法(例如,路由/服务/ service1到/ service1 /)。这样我还需要一个额外的控制器,它具有/service/
的索引方法。控制器文件夹会对所有服务造成混乱,所以我最不想做的就是附加服务'文件名是否可行。
我如何构建这样的结构?
答案 0 :(得分:0)
只需构建一个普通的“ServicesController”(注意复数)。
然后,如果您真的想要,可以使用routing进行“服务”单项工作。
在您的控制器中,执行操作:
report() { ... }
api() { ... }
report_get_data() { ... }
api_whatever() { ... }
或者,如果功能应该相同,只有一个用于ajax,一个用于非,那么只需要一个操作并检查请求是否为ajax:
if($this->request->is('ajax') { ...