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

相关推荐
英俊潇洒美少年21 小时前
MVC / MVVM 和 Vue3、React18 到底啥关系?
mvc
武超杰2 天前
Spring MVC进阶与SSM整合实战
java·spring·mvc
毕设源码-邱学长3 天前
【开题答辩全过程】以 基于.net mvc剧本杀预约与管理为例,包含答辩的问题和答案
mvc·.net
不想看见4043 天前
QAbstractItemModel 自定义实现--Qt 模型 / 视图(MVC)
开发语言·qt·mvc
cyforkk3 天前
警惕生产环境中的“日志炸弹”:Spring MVC 异常处理最佳实践
spring·mvc·状态模式
洛洛呀。4 天前
DDD架构为何拆分Entity层?从MVC到领域模型的演进之道
架构·mvc·ddd
毕设源码-赖学姐5 天前
【开题答辩全过程】以 基于.NET MVC的婚庆服务系统设计为例,包含答辩的问题和答案
mvc·.net
小旭95277 天前
Spring MVC :从入门到精通(下)
java·后端·spring·mvc
希望永不加班7 天前
如何在 SpringBoot 里自定义 Spring MVC 配置
java·spring boot·后端·spring·mvc
稻草猫.7 天前
MyBatis进阶:动态SQL与MyBatis Generator插件使用
java·数据库·后端·spring·mvc·mybatis