PHP开发接口,把所有接口放在一个类(Controller)有什么问题?

公司用的Yii框架,前后端分离,但是...

项目某个大模块接口的代码全部都写在一个Controller,比如小程序和APP的接口都在一个Controller,是基本所有的代码,包括原本应该写在Model里的代码,说实话,看到这种写法的实话我是很震惊的。

我也是个小菜鸡,但我想这种写法是一定有问题的,包括载入无用的类,内存开销,可读性下降等,不过是否还有其他的问题? 希望有大佬可以说说

守着星空守着你
浏览 510回答 6
6回答

守着一只汪

最大的问题就是破坏性,一单某个函数的值没定义或者有任何错误,整个Controller就抛出错误了,所有相关的功能全部瘫痪。好的方式是通过Route跟Controller来控制不同的逻辑。通过中间件儿来控制权限,把分工跟责任细化到个个不同的Controller。最好能达到单一逻辑通过单一Controller来实现。这样维护,迭代的时候都比较容易。

哔哔one

先去了解一下什么是MVC思想

慕容森

在一个9000行左右的Controller里和50行左右的Controller执行相同的一个方法: public function actionTest(){ var_dump(memory_get_usage()); } 一个返回6253168,一个返回3465856,单位是B,这样是不是证明确实有额外的内存开销?那么是否还有其他的性能或者可维护性上的问题呢?

海绵宝宝撒

最大问题是维护困难啊,本来可以通过文件目录先到对应程序代码修改的,现在要在这个超级长的文件里先到目标代码,这是个很痛苦的事情哎!另外多人协同开发的时候版本库很容易发生冲突哎,动不动就要处理冲突也很痛苦啊。

白衣染霜花

耦合度太高了吧?一点拙见~现在开发不是都要解耦么?

青春有我

可以说之前那个人写的有问题,该分模块的时候是要分模块的,控制器该分的时候也要分.
打开App,查看更多内容
随时随地看视频慕课网APP