【图书介绍】《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