mysql - thinkphp中控制器的划分有什么规范吗?
伊谢尔伦
伊谢尔伦 2017-04-10 17:43:46
[PHP讨论组]

我的理解是每一个功能模块划分出一个控制器,这样的话,方便以后需求出现变动的时候,修改起来能尽可能的不影响其他模块

但是也看到有人说把所有输出视图的方法都单独抽出来写到IndexController控制器里面,而IndexController控制器里面再去调用其他控制器的方法。想想好像他们说的也有道理。
但是感觉如果后期需求有变动,那么IndexController控制器也要进行修改,好像又违反了高内聚低耦合的原则。(应该是同一个功能下输出视图和数据处理应该是内聚在同一个控制器下)

搞的我现在不知道到底该怎么划分控制器了,有没有人能分享一下自己的划分方式以及规范。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
天蓬老师

建议一个功能模块一个控制器或者一个文件夹。这样维护修改都方便

高洛峰

目前我们使用thinkphp是两种方式放在一起使用的
.
|-- Login
| `-- Action
| |-- IndexAction.class.php
| `-- LoginAction.class.php
|-- Query
| `-- Action
| |-- AgentChargeLogAction.class.php
| |-- AgentFundsLogAction.class.php
| |-- IndexAction.class.php
| |-- MobileTelAction.class.php
| |-- OrderQueryAction.class.php
| |-- ProductAction.class.php
| `-- UserAction.class.php
|-- Trade
| `-- Action
| |-- CardlibAction.class.php
| |-- FlowAction.class.php
| |-- IndexAction.class.php
| |-- QcoinsAction.class.php
| `-- TelAction.class.php

我们每个功能模块划分出一个目录。
把所有输出视图的方法都单独抽出来写到IndexAction(3.1版本)控制器里面,而IndexAction控制器里面再去调用其他控制器的方法。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号