ThinkPHP框架完全解析一

article/2025/9/27 23:13:25

第一步:搭建应用和框架目录


文件系统结构如上图所示,新建一个名为tp_an的目录作为我们的应用目录。其中,ThinkPHP这个目录,就是thinkphp框架的目录。所有涉及到框架的开发,都会在ThinkPHP中进行。只是为了方便测试,我们新建了tp_an这个目录,用于测试。

 

Index.php文件是我们项目(应用)的单入口文件。

一般使用tp框架的应用都是单入口应用。单入口的意思,就是访问网站的任何地方,都必须经过唯一一个文件,即index.php。

 

Index.php文件的代码如下:

<?php

require'ThinkPHP\ThinkPHP.php';

 

作为一个单入口文件,唯一需要做的事,就是应用我们的主文件ThinkPHP.php。

 

ThinkPHP.php代码如下:

<?php

echo'欢迎使用ThinkPHP框架';

 

好了,现在我们通过浏览器,访问我们的应用,便可得到下图:



单入口文件的作用:

现代许多框架都使用MVC模式,而在PHP中使用MVC模式是比较困难的。因为当一个请求到达的时候,我们需要转发给Controller处理。有两种方式可以解决这个路由的问题。

一种是使用单入口文件处理,所有请求都先由这个文件获得,然后根据路径的不同,被转发到不同的controller。

一种是使用服务器的路径改写功能,但是这样子的话,很多配置文件也无法在路径到达的时候加载,如果要加载的话,势必也要类似单入口文件一样,先路由到一个文件,再由这个文件加载不同的控制器。


选择第二种的话,明显也需要第一种技术。并且第二种还需要跟服务器相关,需要配置相关的服务器,这样子跟服务器耦合度太高了。基于这个原因,无疑采用单入口文件是最好的。最后的路径请求都是发向这个文件(就像main函数一样),然后再由这个文件代为解析和转发。



http://chatgpt.dhexx.cn/article/gITtG5HA.shtml

相关文章

Thinkphp框架初始及安装部署

一、框架概述 1、什么是框架 框架就是一些代码类、方法&#xff08;函数&#xff09;、变量、常量的集合&#xff0c;这些代码是功能结构性的代码&#xff08;并非业务代码&#xff09;。业务代码其实就是具体的一些模块的增删改查逻辑代码。 使用框架开发项目&#xff0c;有…

认识thinkphp框架

https://www.thinkphp.cn/down.html 版本5.0.24 ThinkPHP是一个免费开源的&#xff0c;快速、简单的面向对象的轻量级PHP开发框架 tp5 WEB部署目录&#xff08;或者子目录&#xff09; ├─application 应用目录 │ ├─common 公共模块目录&#xff08;可以更改&#xff09; …

【Java教程系列】IDEA快捷键大全。

自动代码 常用的有fori/sout/psvmTab即可生成循环、System.out、main方法等boilerplate样板代码 。 例如要输入for(User user : users)只需输入user.forTab &#xff1b; 再比如&#xff0c;要输入Date birthday user.getBirthday()只需输入user.getBirthday().varTab即可。…

IDEA快捷键大全(超详细!)

4.1、字体设置 file --> settings --> 输入font --> 设置字体样式以及字号大小。 4.2、快速生成main方法 psvm、main 4.3、快速生成System.out.println() sout 4.4、注意&#xff1a;IDEA是自动保存&#xff0c;不需要ctrl s 4.5、删除一行 ctrl y 4.6、怎…

IDEA的实用快捷键大全

目录 1.常规快捷键 1.1通用类 1.2注释类 1.3操作类 1.4展开与关闭 2.智能补全类快捷键 3.程序结构类快捷键 4.统一操作快捷键 1.常规快捷键 1.1通用类 像 Ctrl C 复制&#xff0c; Ctrl V 粘贴&#xff0c; Ctrl S保存文件&#xff0c; Ctrl X剪切&#xff0c;这种…

IDEA快捷键大全 + 动图演示

目录 一、构建/编译二、文本编辑三、光标操作四、文本选择五、代码折叠六、多个插入符号和范围选择七、辅助编码八、上下文导航九、查找操作十、符号导航十一、代码分析十二、运行和调试十三、代码重构十四、全局 CVS 操作十五、差异查看器十六、工具窗口 一、构建/编译 Ctrl …

Idea快捷键大全(Windows)/Intellij IDEA常用快捷键介绍 Intellij IDEA快捷键大全汇总

Ctrl 快捷键 介绍 Ctrl F 在当前文件进行文本查找 &#xff08;必备&#xff09; Ctrl R 在当前文件进行文本替换 &#xff08;必备&#xff09; Ctrl Z 撤销 &#xff08;必备&#xff09; Ctrl Y 删除光标所在行 或 删除选中的行 &#xff08;必备&#x…

python 相关性检验怎么计算p值_挖掘数据内部联系:相关性分析

相关性表示的是两个观测的数据向量之间的变化关系。一般来讲研究对象(样品或处理组)之间使用距离分析,而元素(物种或环境因子)之间进行相关性分析。两个变量之间的相关性可以用简单相关系数(例如皮尔森相关系数等)进行表示,相关系数越接近1,两个元素相关性越大,相关系数越接…

python 相关性检验怎么计算p值_数据分析---用Python进行相关性分析(兼谈假设检验)...

一、相关关系和相关系数 世上除了因果关系,还有相关关系。 有一个叫“相关系数”的指标来量化两个事物之间的相关程度。 其中相关系数用“r”表示,取值范围介于-1和1之间。 当(X,Y)正相关的时候,r=1;当(X,Y)负相关的时候,r=-1;当(X,Y)不相关的时候,r=0。 当然一般的线性…

python 相关性检验怎么计算p值_机器学习:数据的准备和探索——数据假设检验...

图 | 源网络 文 | 5号程序员 数据假设检验是数理统计学中根据一定假设条件由样本推断总体的一种方法。 那我们啥时候会用到假设检验呢? 大多数情况下,我们无法分辨事物的真伪或者某种说法是否正确,这时就需要进行假设,然后对我们的假设进行检验。 比如,我们想知道被告人是…

R语言笔记十一:相关性分析函数及相关性检验函数

1.相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析&#xff0c;从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。简单来说就是变量之间是否有关系。 相关性可能是正相关&#xff0c;…

数据特征分析之 python相关性检验(转载学习)

数据特征分析技能—— 相关性检验 相关性分析是指对两个或多个具备相关性的变量元素进行分析&#xff0c;从而衡量两个变量因素的相关密切程度 一般常用四种方法&#xff1a; - 画图判断 - pearson&#xff08;皮尔逊&#xff09;相关系数 - sperman&#xff08;斯皮尔曼&a…

相关性检验(二维列联表相关 协方差 Pearson相关 Spearman相关 相关性检验 相关可视化)

文章目录 相关二维列联表相关协方差Pearson相关Spearman相关相关性检验相关可视化 相关 二维列联表相关 data <- xtabs(~TreatmentImproved, data Arthritis) ## 生成二维列联表assocstats(data)协方差 states <- state.x77[,1:6] cov(states)Pearson相关 cor(state…

python实现Kendall相关性检验

python实现Kendall相关性检验 肯德尔相关性系数,又称肯德尔秩相关系数,它也是一种秩相关系数,不过它所计算的对象是分类变量。 分类变量可以理解成有类别的变量,可以分为 无序的,比如性别(男、女)、血型(A、B、O、AB); 有序的,比如肥胖等级(重度肥胖,中度肥…

R语言:相关性分析检验

相关性分析 相关性分析的检验衡量指标包括&#xff1a;Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数、多分格相关系数、多系列相关系数 默认使用Pearson相关系数 cor(data) #或者 cor(x,y,method c(“pearson”, “kendall”, “spearman”)) #x,y可以是…

python实现spearman相关性检验

python实现spearman相关性检验 Spearman秩相关系数 对原始变量的分布不做要求,适用范围较Pearson相关系数广,即使是等级资料,也可适用。但其属于非参数方法,检验效能较Pearson系数低。(适合含有等级变量或者全部是等级变量的相关性分析) 测试两个样本是否具有单调关系。…

多元数据的相关性检验——基于R

多元数据的相关性检验 检验方法&#xff1a;1.Pearson相关检验2.Spearman相关检验3.Kendall相关检验 cor.test函数案例分析&#xff1a; 对于多元数据&#xff0c;讨论变量间是否具有相关关系是很重要的&#xff0c;这里介绍三种相关检验—— Pearson相关检验&#xff0c;Spear…

时间序列之间的相关性检测

为了检测时间序列的相关性&#xff0c;我们经常使用自相关&#xff0c;互相关或归一化互相关。 互相关&#xff08;Cross-Correlation&#xff09; 互相关是两个不同时间序列的比较&#xff0c;以检测具有相同最大值和最小值的指标之间是否存在相关性。例如&#xff1a;“两个…

python实现pearson相关性检验

python实现pearson相关性检验 两个变量之间的相关性可以采用Pearson或Spearman相关分析方法进行分析。Pearson相关分析主要用来分析正态分布、非等间距测度的连续变量,而Spearman可用来分析不服从双变量正态分布或总体分布型未知以及原始数据是等级资料的数据。 测试两个样本是…

数据特征分析技能—— 相关性检验

数据特征分析技能—— 相关性检验 相关性分析是指对两个或多个具备相关性的变量元素进行分析&#xff0c;从而衡量两个变量因素的相关密切程度 一般常用四种方法&#xff1a; - 画图判断 - pearson&#xff08;皮尔逊&#xff09;相关系数 - sperman&#xff08;斯皮尔曼&a…