返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >thinkphp5中MVC分层的含义是什么
  • 292
分享到

thinkphp5中MVC分层的含义是什么

2023-06-29 09:06:57 292人浏览 八月长安
摘要

这篇文章主要介绍“thinkPHP5中mvc分层的含义是什么”,在日常操作中,相信很多人在thinkphp5中MVC分层的含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp5中MVC分层

这篇文章主要介绍“thinkPHP5中mvc分层的含义是什么”,在日常操作中,相信很多人在thinkphp5中MVC分层的含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp5中MVC分层的含义是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在thinkphp5中,MVC分层指的是模型层、视图层和控制器层分工合作,逻辑层和表现层进行分开的操作;模型层负责数据库操作,控制器就是一个模块类,根据url进行调度和操作,视图用于连接action控制器和模板文件。

本文操作环境:windows10系统、ThinkPHP5版、Dell G3电脑。

thinkphp5中MVC分层是什么

MVC,M模型,V视图,C控制器。

分层,就是分工合作,逻辑层和表现层进行分开的操作。模型负责:数据库操作。控制器:任何一个WEB操作都是一个模块的某个操作,控制器就是一个模块类,根据url进行调度和操作。视图(view类和模版文件组成):连接action控制器和模版文件,Action类把数据通过View类传递到模板文件,而模板文件把接收到的数据转换成相应的数据格式显示。

ThinkPHP基于MVC(Model-View-Controller,模型-视图-控制器)模式,并且均支持多层(multi-Layer)设计。

模型(Model)层

默认的模型层由Model类构成,但是随着项目的增大和业务体系的复杂化,单一的模型层很难解决要求,多层Model的支持设计思路很简单,不同的模型层仍然都继承自系统的Model类,但是在目录结构和命名规范上做了区分。

例如在某个项目设计中需要区分数据层、逻辑层、服务层等不同的模型层,我们可以在模块目录下面创建model、logic和service目录,把对用户表的所有模型操作分成三层:

数据层:model/User 用于定义数据相关的自动验证和自动完成和数据存取接口

逻辑层:logic/User 用于定义用户相关的业务逻辑

服务层:service/User 用于定义用户相关的服务接口等

而这三个模型操作类统一都继承\think\Model类即可。

对模型层的分层划分是很灵活的,开发人员可以根据项目的需要自由定义和增加模型分层,你也完全可以只使用Model层。

视图(View)层

视图层由模板和模板引擎组成,在模板中可以直接使用PHP代码,模板引擎的设计会在后面讲述,通过驱动也可以支持其他第三方的模板引擎。视图的多层可以简单的通过目录区分,例如:

view/default/user/add.htmlview/blue/user/add.html

复杂一点的多层视图还可以更进一步,采用不同的视图目录来完成,例如:

view 普通视图层目录

mobile 手机端访问视图层目录

控制器(Controller)层

ThinkPHP的控制器层由核心控制器和业务控制器组成,核心控制器由系统内部的App类完成,负责应用(包括模块、控制器和操作)的调度控制,包括Http请求拦截和转发、加载配置等。业务控制器则由用户定义的控制器类完成。多层业务控制器的实现原理和模型的分层类似,例如业务控制器和事件控制器:

controller/User //用于用户的业务逻辑控制和调度event/User //用于用户的事件响应操作

controller\User负责外部交互响应,通过URL请求响应,例如 http://serverName/User/index,而 event\User 负责内部的事件响应,并且只能在内部调用,所以是和外部隔离的。多层控制器的划分也不是强制的,可以根据应用的需要自由分层。控制器分层里面可以根据需要调用分层模型,也可以调用不同的分层视图。

到此,关于“thinkphp5中MVC分层的含义是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: thinkphp5中MVC分层的含义是什么

本文链接: https://lsjlt.com/news/324132.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • thinkphp5中MVC分层的含义是什么
    这篇文章主要介绍“thinkphp5中MVC分层的含义是什么”,在日常操作中,相信很多人在thinkphp5中MVC分层的含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp5中MVC分层...
    99+
    2023-06-29
  • MVC架构的含义及职责划分是什么
    这篇文章主要介绍“MVC架构的含义及职责划分是什么”,在日常操作中,相信很多人在MVC架构的含义及职责划分是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MVC架构的含义及职责划分是什么”的疑惑有所帮助!...
    99+
    2023-06-26
  • css中层叠样式表的含义是什么
    这篇文章将为大家详细讲解有关css中层叠样式表的含义是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。css是什么意思css是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来...
    99+
    2023-06-06
  • linux中分区的含义是什么
    本篇内容介绍了“linux中分区的含义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在linux中,分区就是把一片空间分割成多块,是指...
    99+
    2023-06-29
  • Cassandra中切分的含义是什么
    在Cassandra中,切分(sharding)是指将数据分布到多个节点或分区中的过程。切分通常用于水平扩展数据库系统,以提高性能和...
    99+
    2024-04-02
  • MVC模型、视图、控制器的含义是什么
    本篇内容主要讲解“MVC模型、视图、控制器的含义是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MVC模型、视图、控制器的含义是什么”吧!模型模型,表示知识。它既可能是一个对象(当然,如果仅...
    99+
    2023-06-17
  • MVC分层架构是怎么样的
    这篇文章给大家分享的是有关MVC分层架构是怎么样的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。传统MVC三层架构通常,我们习惯的业务建模方式是围绕数据表的,先根据业务需要设计数据库,再完成业务流程的开发。在实现...
    99+
    2023-06-05
  • c++中::是什么含义
    作用域解析运算符 :: 用于指定标识符的作用域,并访问该作用域中的成员,包括:访问全局变量和函数访问类成员访问静态成员避免过度使用 ::,以保持代码的可读性和可维护性。 C++ 中 :...
    99+
    2024-04-26
    c++ 作用域
  • windows中esp和msr分区的含义是什么
    本文小编为大家详细介绍“windows中esp和msr分区的含义是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows中esp和msr分区的含义是什么”文章能帮助大家解决疑惑,下面跟着小编的思...
    99+
    2023-02-02
    windows esp msr
  • PHP的中文含义是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑PHP 全称 PHP Hypertext Preprocessor,是“超文本预处理器”的意思。它是一种跨平台的、开源的、服务器端执行的脚本语言,其语法吸收了C语言、J...
    99+
    2017-01-22
    PHP
  • javascript中double的含义是什么
    这篇文章主要讲解了“javascript中double的含义是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中double的含义是什...
    99+
    2024-04-02
  • HTML中input的含义是什么
    本文小编为大家详细介绍“HTML中input的含义是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“HTML中input的含义是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2024-04-02
  • HTML中title的含义是什么
    本文小编为大家详细介绍“HTML中title的含义是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“HTML中title的含义是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2024-04-02
  • node.js中url的含义是什么
    本篇内容主要讲解“node.js中url的含义是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“node.js中url的含义是什么”吧! ...
    99+
    2024-04-02
  • css中translate的含义是什么
    这篇文章主要介绍“css中translate的含义是什么”,在日常操作中,相信很多人在css中translate的含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”cs...
    99+
    2024-04-02
  • html的中文含义是什么
    这篇文章主要介绍“html的中文含义是什么”,在日常操作中,相信很多人在html的中文含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html的中文含义是什么”的疑惑...
    99+
    2024-04-02
  • CSS中background的含义是什么
    本文小编为大家详细介绍“CSS中background的含义是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS中background的含义是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2024-04-02
  • Linux中点的含义是什么
    这篇文章主要介绍了Linux中点的含义是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Paul Brown 解释了 Linux shell 命令中那个不起眼的“点”的各种...
    99+
    2023-06-16
  • git中staged的含义是什么
    这篇文章主要讲解了“git中staged的含义是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git中staged的含义是什么”吧!在git中,staged用于表示文件的状态,是暂存状态...
    99+
    2023-06-26
  • thinkphp中eq的含义是什么
    今天小编给大家分享一下thinkphp中eq的含义是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在thinkphp中,...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作