Php “结构化”;嵌套的;控制器
我希望以最好的方式构建我的应用程序 我正在将“服务”部分添加到我的应用程序中。这将包括一个索引方法,以及多个应该通过Php “结构化”;嵌套的;控制器,php,cakephp,cakephp-routing,Php,Cakephp,Cakephp Routing,我希望以最好的方式构建我的应用程序 我正在将“服务”部分添加到我的应用程序中。这将包括一个索引方法,以及多个应该通过/service/service1/或/service/service2/等方式访问的服务 我正在考虑为每个服务提供一个ServiceController和一个方法。然后,每个服务将有两个ajax方法,如/service/service1/getdata。但是使用这种结构,getdata将不是它自己的方法,而是一个变量(我可以为service1函数提供服务,但这不是我想要的) 我曾
/service/service1/
或/service/service2/
等方式访问的服务
我正在考虑为每个服务提供一个ServiceController
和一个方法。然后,每个服务将有两个ajax方法,如/service/service1/getdata
。但是使用这种结构,getdata
将不是它自己的方法,而是一个变量(我可以为service1
函数提供服务,但这不是我想要的)
我曾考虑过使用一个“服务”插件,但如果我只想在URL中添加/Service/
部分,那就觉得多余了
还有路由,但我想不出一个好的方法(例如路由/服务/服务1到/服务1)。这样,我还需要一个额外的控制器,它将具有/service/
的索引方法。控制器文件夹中的所有服务都很混乱,所以如果可行的话,我最不想做的就是在文件名中附加“service”
如何构造这样的东西?只需构建一个普通的“ServicesController”(注意复数形式)
然后,如果你真的愿意,你可以用它来做“服务”工作
在控制器中,执行以下操作:
report() { ... }
api() { ... }
report_get_data() { ... }
api_whatever() { ... }
或者,如果功能应该相同,一个用于ajax,一个用于non,那么只需执行一个操作并检查请求是否为ajax:
if($this->request->is('ajax') { ...
你真的把每件事都称为“服务1”、“服务2”等等吗?如果你给我们提供真实姓名和一些上下文,我们可能会更好地提供帮助。不,这些只是例子。例如,它们是“报告”或“api”,并且除了“服务”之外,实际上不共享任何内容“类别。我已经协调过了。我不喜欢的是,属于一个服务的方法并不是集中在一个逻辑位置。但也许这是你得到的最好的?我们在谈论多少行动?您的每次服务将超过10次还是20次?如果没有,那就好了。可以随意按类型重新组织,但是——我很难想象会有这么多。如果你要有一吨,那么你可能应该考虑把这些东西放在不同的控制器中。按“report”、“report_data”、“api”、“api_data”等类型将它们按顺序排列……甚至可以使用注释来清楚地标记一个从何处开始,另一个从何处开始……etcI猜测每个服务大约5-10个,我将只提供一些服务。所以这并不是说太多,我只是在寻找好的方法来组织事情。