也许模块不是唯一的答案

最后更新于:2022-04-02 04:31:44

### 也许模块不是唯一的答案 > 模块是数据和方法的集合。 PHP程序经过小应用,到MVC的成熟开发实践,模块化已经是标配了,`index.php?m=home&c=index&a=index` 这种方式每个人都熟知了,可是有一天你想过没有,我们为什么要这么做,M C A也是从你简单的do来的,我们给应用功能分层,发现一个do并不能很好的解决我们的问题,比如这样的一个功能,用户中心的发送消息的接口,我们怎么设计呢,user.php?do=send_message 这样吗,但是我们使用单入口应用后有点不太适应,而模块的方式刚好能满足,比如index.php?m=user&c=message&a=send,哈哈,这似乎使我们想要的,用户模块下,消息控制器,消息发送操作,三层关系,完美解决了,实际中很多应用场景我们也能把它安在这三成关系之中。 这就是是好的吗? 似乎是。 可是laravel框架没有模块,只有thinkPHP有模块的概念,为什么它们不用模块的概念,别人前后台也处理的很好呢,还是我们习惯了模块化而已。 > [超人商城](http://wx.yunxiaonet.com/app/index.php?i=6&c=entry&do=home&m=superman_mall) 通过微擎的一个模块就能开发出一个完整的商城,那为什么我们还需要一个完整的thinkPHP框架才能假设商城呢,代码是死的,人是活的,不要被固有的思想给左右了,给自己设限的时候你就已经失败了。(微擎中的MVC被系统用了已经,所以留给扩展模块就没有MVC参数可用了,只有do,所以你自己想办法,如何在极限中生存,这是才是真正考验的时候) [微擎中的 controller 相当于tp里面的module ,action相当于tp里面的controller ,do相当于tp里面的 action。](http://www.kancloud.cn/donknap/we7/134626) > [淘黄州](itaohz.com)也没有分模块,前后台开发照样好好的。 (不过分模块开发,显得更合理,代码组织更清晰这点确实是真的) >[danger] 不要忘记还有路由这个东西 或许回到最初,我们没有模块的时候,我们就不能开发了吗?我们前后台就不能分离了吗? 模块化从各个方面来说是有好处,人性化,但其实如果有一天没有模块化吗,我们照样能工作,只不过我们习惯它了而已,闹怕我们把所有代码全部写在一个文件中,我们照样能完成相同的功能,只不过什么不符合什么设计云云的,不过世上很多事并没有对错,在什么时候做什么事,在只要能活下去的时候,去谈理想,那是什么? 所以,不要依赖于模块,没有目录式的模块化,我们照样能做好事,并且也同样能够做得很好。人生永远不要给自己设限,真正的勇士在任何环境下面都能活得很好。 ### 扩展 [Laravel 模块化开发模块 – Caffienate](http://mp.weixin.qq.com/s/4xZWOgbqgU70-H00MUhQbQ) Laravel本身没有模块,也可以挺好的。 update:2017-6-22 09:44:28
';