thinkphp的mvc需手动组织,控制器只接收参数、调用模型、传数据给视图;模型封装业务逻辑与数据操作;视图纯输出且零副作用;路由需显式配置,目录结构须标准。

ThinkPHP 使用 MVC 架构不是自动生效的,而是靠你主动组织文件、明确分工、按规则流转请求。一分钟内抓住关键动作,就能跑通整个流程。
控制器:只做三件事
控制器是入口和调度员,不处理业务、不写SQL、不渲染页面。
- 接收参数(如
$id = input('id')) - 调用模型方法(如
$user = UserModel::get($id)) - 把数据传给视图(如
return view('profile', ['user' => $user]))
模型:管“能不能做”
模型封装业务判断和数据操作,密码加密、邮箱校验、唯一性检查都放这里。
- 不要在 Controller 里直接写 SQL 或 new UserModel()
- 数据库操作用框架提供的 Db 类或模型方法,比如
$this->save()或Db::table('user')->insert(...) - 验证逻辑必须前置,比如注册时先 checkEmail() 再 save()
视图:纯输出,零副作用
视图只负责展示,不能执行查询、不能 new 对象、不能调用未传递的变量。
- 所有数据必须由 Controller 显式传入(如
view('index', ['list' => $data])) - 模板里只用
{$name}或{{ $name }}这类安全语法取值 - 禁止出现
$_GET、file_get_contents、new等任何执行语句
路由与配置:让 URL 指向正确位置
默认访问/index/index会找IndexController的index方法,但建议显式定义路由。
- 在
route.php中写:Route::get('user/:id', 'UserController@detail'); - 确保
config/database.php已填好数据库连接信息 - 应用目录结构保持标准:
app/controller/、app/model/、app/view/
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











