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