公司用的Yii框架,前后端分离,但是...
项目某个大模块接口的代码全部都写在一个Controller,比如小程序和APP的接口都在一个Controller,是基本所有的代码,包括原本应该写在Model里的代码,说实话,看到这种写法的实话我是很震惊的。
我也是个小菜鸡,但我想这种写法是一定有问题的,包括载入无用的类,内存开销,可读性下降等,不过是否还有其他的问题? 希望有大佬可以说说
6 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
最大的问题就是破坏性,一单某个函数的值没定义或者有任何错误,整个Controller就抛出错误了,所有相关的功能全部瘫痪。好的方式是通过Route跟Controller来控制不同的逻辑。通过中间件儿来控制权限,把分工跟责任细化到个个不同的Controller。最好能达到单一逻辑通过单一Controller来实现。这样维护,迭代的时候都比较容易。
慕容森
TA贡献1853条经验 获得超18个赞
在一个9000行左右的Controller里和50行左右的Controller执行相同的一个方法:
public function actionTest(){
var_dump(memory_get_usage());
}
一个返回6253168,一个返回3465856,单位是B,这样是不是证明确实有额外的内存开销?
那么是否还有其他的性能或者可维护性上的问题呢?
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
最大问题是维护困难啊,本来可以通过文件目录先到对应程序代码修改的,现在要在这个超级长的文件里先到目标代码,这是个很痛苦的事情哎!
另外多人协同开发的时候版本库很容易发生冲突哎,动不动就要处理冲突也很痛苦啊。
- 6 回答
- 0 关注
- 509 浏览
添加回答
举报
0/150
提交
取消