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

相关推荐
吴名氏.2 天前
电子书《ASP.NET MVC企业级实战》
后端·asp.net·mvc·编程语言
凌波粒2 天前
SpringMVC基础教程(1)--MVC/DispathcerServlet
java·spring·mvc
天若有情6733 天前
从零实现轻量级C++ Web框架:SimpleHttpServer入门指南
开发语言·前端·c++·后端·mvc·web应用
William_cl5 天前
C# ASP.NET MVC 数据验证实战:View 层双保险(Html.ValidationMessageFor + jQuery Validate)
后端·c#·asp.net·mvc
代码栈上的思考5 天前
Spring MVC 中 @RequestMapping 路径映射与请求处理全流程
java·spring·mvc
WZTTMoon5 天前
Spring MVC 核心工作原理:DispatcherServlet 全流程深度解析
java·spring·mvc
程序员buddha6 天前
springboot-mvc项目示例代码
java·spring boot·mvc
alien爱吃蛋挞7 天前
【JavaEE】Spring Web MVC(下)
spring·java-ee·mvc
雨白7 天前
让代码更清晰:Android 中的 MVC、MVP 与 MVVM
android·mvc·mvvm
m0_7482480212 天前
Spring MVC中@RequestMapping注解的全面解析
java·spring·mvc