ThinkPHP 8高效构建Web应用-第一个简单的MVC应用示例

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客

《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书

使用VS Code开发ThinkPHP项目-CSDN博客

我们先实现一个简单的MVC应用示例,来说明MVC应用涉及的不同组件。本示例使用第1章搭建环境时创建的tp项目。首先修改ThinkPHP的视图配置文件config/view.php中的两个选项,代码如下:

复制代码
// 模板引擎使用类型
'type'          => 'php',
// 模板后缀
'view_suffix'   => 'php',

新建模型文件app/model/testModel.php,代码如下:

复制代码
<?php 
namespace app\model;
// 模型提供数据,也可以从数据库和文件中获取数据
class testModel{
    function get(){
        return "Hello ThinkPHP MVC";
    }
}  

新建控制器文件app/controller/test.php,代码如下:

复制代码
<?php 
namespace app\controller;
use app\model\testModel;
// 控制器选择模型及其相应的视图
class test{
	function get(){
		//由于本书针对初学者,为了简明起见,本章的视图示例都以直接返回文本的方式给出来
		return 'direct to data from controller';
	}
    function show(){
        $testModel = new testModel();// 选择合适的模型
        $data = $testModel->get();// 获取相应的数据
        
        return view('list', [
        'title' => $data, 
        'content' => 'get data from controller' 
        ]);// 将数据传递给list.php视图,并在视图中展示给用户
    }
}  

新建视图文件app/view/test/list.php(其内容主体是HTML页面代码),代码如下:

复制代码
<h1><?=$title?></h1>
<h2><?=$content?></h2>

在tp根目录执行php think run命令启动服务器,打开浏览器访问http://localhost:8000/test/get,结果如图3-1所示,说明我们第一个MVC应用示例已经成功实现。

图3-1

再次访问http://localhost:8000/test/show,结果如图3-2所示。注意,在这两个url链接中,test为控制器名,get和show为控制器类中的方法名;另外需要注意一下在控制器test中,数据是如何传到视图list中的。这个示例虽然简单,但是基本上可以看出,MVC模式是怎么分层处理数据、业务逻辑并展示视图的。

图3-2

相关推荐
代码的小搬运工6 小时前
【iOS】MVC架构
ios·架构·mvc
qq_2518364572 天前
基于MVC的学校食堂点餐管理系统的设计与实现
mvc
故渊at2 天前
系列一:架构思想进阶 | 第1篇 Android 架构演进实录:从 MVC 的“万能类”到 MVVM 的数据驱动
android·架构·mvc
RR13352 天前
Spring MVC and Spring Gateway 的差异,以及报错处理
spring·gateway·mvc
gCode Teacher 格码致知3 天前
AspNet Mvc教学:Route路由切换-由Deepseek产生
mvc
gCode Teacher 格码致知4 天前
Asp.net Mvc教学: Url.Encode及Html.Encode的区别和联系-由Deepseek产生
asp.net·mvc
sakiko_9 天前
Swift学习笔记34-MVC架构,SwiftUI与UIkit混编练习
笔记·学习·swiftui·mvc·swift
止水编程 water_proof10 天前
Spring Web MVC 入门
前端·spring·mvc
Mahir0812 天前
Spring MVC 深度解密:从 DispatcherServlet 到请求处理全流程
java·后端·spring·面试·mvc
辰海Coding14 天前
MiniSpring框架学习-整合 IoC 和 MVC(NPC)
学习·spring·mvc