0

0

thinkphp路由是什么

青灯夜游

青灯夜游

发布时间:2021-12-27 11:49:48

|

4829人浏览过

|

来源于php中文网

原创

在thinkphp中,路由是指根据url, 分配到对应的处理程序的映射;其作用是简化URL访问地址,并根据定义的路由类型做出正确的解析。简单来说,路由就是一个路径的解析,根据客户端提交的路径,将请求解析到相应的模块或控制器或方法上。

thinkphp路由是什么

本教程操作环境:Windows7系统、thinkphp v5.1版、Dell G3电脑。

我们来研究一下ThinkPHP5的路由机制。

虽然说TP5的完全开发手册上面讲路由讲的很清楚,但是我们还是在本文研究一下TP5的路由是怎么一回事,毕竟看博客比看书要舒服一些嘛。

首先,提出三个问题:

立即学习PHP免费学习笔记(深入)”;

1.Route(路由)是什么?

路由(route)是指根据url, 分配到对应的处理程序的映射。

简单来说,就是一个路径的解析,根据客户端提交的路径,将请求解析到相应的模块/控制器/方法上。

官方文档里面是这样子定义的=>路由的作用是简化URL访问地址,并根据定义的路由类型做出正确的解析。

手动解释一下:平常我们按照习惯去访问我们的ThinkPHP项目的时候,常规的url应该是这样子写的,(本地举例)http://localhost/项目名/public/index.php/模块名/控制器名/方法名

一串url输进去之后,就会感觉很绝望,(小声吐槽)=>“我只是想测试一个小接口让我打这么长一串地址、地址太长记不住呀......”。这个时候我们就可以用路由去简化他的地址,并且在缩短地址的同时进行一些规则的定义。

2.为什么要使用路由?

可能有人会脱口而出:为了简化路径呀。当然,这是原因之一,但原因并没有那么简单。

简化路径是一个比较大的原因,因为我当初就是觉得路径太长然后跑过去把路由开起来了,但是后来在使用的过程中,发现Route的作用其实不仅局限于简化路径。

我们可以开启路由的强制使用,让大家只能从我定义的路由进来,这样就有一个好处,你在一些不想给用户访问的控制器写了一些脚本,你开启了完全路由强制使用的话,用户是访问不了这些脚本的,否则的话,用户如果访问了这些脚本,脚本有时修改数据库的,那么就比较危险了。

还有就是我们可以定义好从这个路径进来是get操作还是post操作,就不会出现以前有种什么情况,一个控制器的方法,你从get也可以访问,post也可以访问,就很杂乱,当然有人会说,get和post都能访问也没什么大不了的吧,其实将这些方法之间区分开来,对于Restful API的思想的体现是比较有帮助的。

同理,http和https的规定我就不说了。

到了这里,大家是不是觉得路由有些神奇了,原来它可以干这么多事情,那么我们就来研究一下怎么去使用它。

Route的使用

使用之前,我们先了解一下配置信息,还是我的这个叉叉项目,打开config文件:


有两个要注意的地方,首先第一个红框里面tp默认是给我们开启了路由这个模式的,第二个红框,tp默认是关闭掉强制使用路由这一项,什么意思呢?就是我现在通过我们平常的地址模式访问也可以成功,通过路由访问也可以成功。

我平常做项目的时候为了安全起见是会将这一条改成true的,那么我们来看一下效果

未开启强制路由的时候:


按照常规的地址访问是可以成功的,好我们现在开启强制使用路由:

TayCMS免费企业建站系统1.8 for PHP
TayCMS免费企业建站系统1.8 for PHP

由于精力有限,程序更新比较慢,请大家谅解,再次感谢支持taycms的朋友们,虽然比较慢,我们还是会一直更新下去的。谢谢您的关注。有什么建议可以到论坛提出,或者直接给我QQ留言。 2.0会有很多新功能,请关注官方论坛TayCMS 1.8 升级日志此版本修复了不少BUG1.更换图片切换JS , 不会再有错误提示2.增加资料下载模块3.更换默认模版,使程序功能和页面结构更清晰,方便参考制作模版4.修复留

下载


同样的地址报错了,并且抛出了一个路由未找到的错误,因为我们未在路由文件中定义这个路由,所以它抛出了错误,说明我们现在是强制使用了路由。

那么我们现在来定义一下它,首先从最简单的一种:


找到route文件


首先我们先要引入一下think下面的路由这个类,然后我们调用里面get静态方法,从方法名我们可以很容易得知,这是通过get方法去访问的,那么第一个参数和第二个参数代表什么呢,第二个参数代表常规url中的 模块/控制器/方法,第一个参数代表想要用什么名称来替换后面的 模块/控制器/方法。

也就是说,我原本使用http://localhost/xx/public/index.php/xx/test/xx可以访问到我的控制器方法,现在只需要http://localhost/xx/public/index.php/xx就可以访问到我的控制器方法了。

看一下效果:


成功使用路由访问,那么,下一步我们来细究一下这个规则的制定(比如说get和post访问的区别)

我现在将get方法改成post方法然后我在用get方法去访问看看会发生什么:




可以看到我们采用了get是访问不到的,只有post才能访问到,怎么样,感受到路由好玩的地方了吗。

深一点的我们还可以这样子定义路由:


第三个参数代表访问的方式,像我这里面定义的这种形式就是get和post操作都可以访问到,最后一个参数代表的是要不要检验https协议,如果是false的话就不会检验https,如果是true的话我们用http去访问的时候就会找不到,这样子我们就更近一步的保障了我们的接口的安全性。至于效果的话就不演示了。

更多

路由还有什么特别之处呢?路由甚至可以将get操作传的参数归并进url里面,我们原本的get操作应该是这样子的:url?id=1,经过路由之后,我们可以把它规定成 url/1,这样子连id这个参数都被隐藏掉了,好处大家都晓得吧。至于过程的话就上开发手册上去淘一淘吧。

当然,路由还有一些别的辅助性的小功能,比如说闭包函数呀什么的,我就不一一介绍了,因为这种辅助性的功能在开发过程中不是很常用,感兴趣的话可以去完全开发手册上面去看。

路由的相关简介和使用路由的好处就介绍到这里。

【相关教程推荐:thinkphp框架

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2750

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1677

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1538

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

1015

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1464

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1235

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1569

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1307

2023.11.13

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

1

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号