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

相关推荐
医疗信息化王工19 小时前
基于ASP.NET Core的医院输血审核系统设计与实现
后端·mvc·asp.net core·输血审核
johnrui1 天前
WebFlux 与普通HTTP(Spring MVC)详细对比
spring·http·mvc
MX_93592 天前
Spring MVC全注解开发实现及其原理
java·spring·mvc
凯尔萨厮3 天前
创建SpringWeb项目(Spring3.2+)
spring·mvc
lingggggaaaa4 天前
PHP模型开发篇&MVC层&动态调试未授权&脆弱鉴权&未引用&错误逻辑
开发语言·安全·web安全·网络安全·php·mvc·代码审计
tryxr4 天前
SpringMVC 中的常用注解和用法
spring·mvc·springmvc
Java成神之路-5 天前
通俗易懂理解 Spring MVC 拦截器:概念、流程与简单实现(Spring系列16)
java·spring·mvc
花花鱼6 天前
Spring Security 与 Spring MVC
java·spring·mvc
身如柳絮随风扬6 天前
SpringMVC 异常处理?Spring 父子容器?
java·spring·mvc
MX_93596 天前
Spring MVC拦截器
java·后端·spring·mvc