第五课 路由之初识路由

1.路由快速入门

1.1 概念

是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这种行为动作的机器。它的英文名称为Router,是一种连接多个网络或者网段的网络设备,它能将不同网络或者网段之间的数据信息进行“翻译”,已使它们能够相互“读懂”对方的数据,从而构成一个更大的网络。

总结起来就一句话:路由就是网络数据传输的最佳路径!( 广义上解释)请看下图:

1.2 项目当中的路由

一个有效的Url请求的执行流程

路由:路由就像一个总调度,把用户不同的请求,分发到对应的URL地址上(以项目中的方式来讲)

ThinkPHP5的路由过程,就是从入口文件开始,找到对应方法的过程。

URL: http://tp5.com/index.php/index/user/add/101/peter

1.3 传统URL地址以及TP5普通路由

传统URL地址的基本语法:http://域名/入口文件?m=模块名&c=控制器名&a=方法名&键1=值1&键2=值2

例如:http://tp3.com/index.php?m=index&c=user&a=add&id=101

(图为tp3的路由地址解析)

ThinkPHP5已经废弃传统URL模式,全部采用PATH_INFO模式。

例子:http://tp5.com/index.php/index/user/add/101 PATH_INFO模式地址

PATH_INFO模式的特点:PATH_INFO模式地址,不仅仅缩短了URL,最重要的是看上去与静态网页地址几乎完全一样,这样就达到了欺骗搜索引擎,提高网页收录效果,利于网站优化与推广!

1.4 注册路由

1.4.1 路由规则写在哪?

(1).路由规则写在与应用配置同级的route.php文件中;

(2).路由规则主要使用路由类:Route注册

1.4.2 注册路由的步骤

1.4.2.1 为啥要注册路由

原因:若不开启路由,即URL很长,并且别人很容易就知道你所指向的模块,安全风险高,易被路由注入,为了防止这种情况发生。

注:①请自行百度,搜索路由注入。

1.4.2.2 开启路由

(1)Thinkphp5.0版本:

需要打开thinkphp/convention.php 查看url_route_on是否开启路由,一般是开启的

(2)Thinkphp5.1的版本:

不用查看,因为直接支持路由配置,所以在thinkphp/convention.php没有这个url_route_on这个配置,所以这步在5.1中是可以不用管。

1.4.2.3 注册路由

5.1版本默认就在application 同级下就有route的配置文件 ,之前的版本需要重新的定义route.php这文件

路由访问效果

若按照现在之前的方式已经不能使用,已经被注册的路由,也就不能使用PATHINFO模式访问

1.5 路由的作用

1.根据事先定义的路由规则,检验URL请求,确定执行或者拒绝

2.路由规则可以自定义,隐藏了原URL地址,使访问更安全,地址更优雅,利于seo优化  

转载于:https://www.cnblogs.com/studyandstudy/p/10354339.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用 React 和 React Hooks 创建一个天气应用

大家好,我是若川(点这里加我微信 ruochuan12,长期交流学习)。今天推荐一个练手的React项目,创建天气应用,相信很快能看完。昨天发送书掉粉18人,是我没想到的,送书一般是出版社按阅读…

拟态防御_纯素食汉堡的拟态

拟态防御If people are so against the idea of pigs and chickens being chopped up why would they want to buy fake bacon with realistic visual streaks of pork fat, or soy meat that tries to replicate the streaky texture of cooked chicken flesh? Surely these …

delphi 算术溢出解决方法_性能优化系列:JVM 内存划分总结与内存溢出异常详解分析...

前言那些使用过 C 或者 C 的读者一定会发现这两门语言的内存管理机制与 Java 的不同。在使用 C 或者 C 编程时,程序员需要手动的去管理和维护内存,就是说需要手动的清除那些不需要的对象,否则就会出现内存泄漏与内存溢出的问题。如果你使用 J…

微信小程序如何发送 http 请求

2019独角兽企业重金招聘Python工程师标准>>> 为什么要使用云函数发送 http 请求小程序云函数5 个可信域名不受限制需要备案无需备案在一些特殊情境, 比如域名没有备案或域名 5 个以上就需要使用云函数发送 HTTP 请求了. 如何使用云函数发送 HTTP 请求? 在云函数中能…

H5 页面列表缓存方案

大家好,我是若川(点这里加我微信 ruochuan12,长期交流学习)。今天给大家介绍一下关于h5页面的列表缓存方案。感谢屏幕前的你一直关注着我。点击下方卡片关注我、加个星标,或者查看源码等系列文章。学习源码整体架构系列…

不只是coding_不只是外表

不只是coding“We just need it to look more professional…”“我们只需要看起来更专业...” “We don’t have the graphic expertise you do…”“我们没有您所需要的图形专业知识……” “I just don’t know how to make it look good…”“我只是不知道如何使它看起来…

读取 wps_软件前世今生篇之WPS(求伯君1988年先于OFFICE研发出WPS)

软件前世今生篇之WPS今天给大家普及一下WPS这款办公软件,相信你会问wps有什么可普及的?我们都知道啊,不就是一款办公软件,而且还是抄袭office的,安装还挺简单的,而且还有一大堆广告,不过使用免费…

吴恩达机器学习笔记11-梯度下降法实践2-学习率

梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。 也有一些自动测试是否收敛的方法,例如将代价函数的变化值与某个阀值(例如0.001&#…

制作五彩纸屑转场动效_何时以及如何将五彩纸屑添加到产品UI

制作五彩纸屑转场动效As I am sure all designers have picked up on, confetti has become a popular method of (positive) feedback inside mobile and desktop apps. I will discuss the viable scenarios where you can implement confetti and will even provide some co…

【无套路送书】架构师是怎样炼成的?

大家好,我是若川。不知道这是今年第几次送书了,前三次分别是:第一次,第二次,第三次。本次《架构师的自我修炼》,非常珍贵,我争取到了2本送给大家,送书规则见文末。可以参与下&#x…

WinForm中使用Excel控件

最近项目中要在WinForm中使用Excel控件,经过几天的研究,现在总结一下成果。 在WinForm中使用Excel控件主要有三种方法:WebBrowser、DSOFramer、OWC。下面分别描述一下如何使用。 一、WebBrowser /// -1、如何使用 WebBrowser 控件…

NASA公布“门户计划”,在月球轨道建立空间站进一步探索月球

门户是NASA研发一种小型的宇宙飞船的名字,该宇宙飞船将围绕月球轨道运行 成为宇航员临时住所和办公室。 日前,美国宇航局(以下简称“NASA”)公布了“门户计划”,该计划具体是指在月球轨道上建立空间站,以帮…

浅析Page.LoadTemplate(模板)方法动态获取绑定模板后,通过FindControl获取服务端控件的方法。...

平常使用DataList数据控件绑定数据时&#xff0c;都是在ItemTemplate项里面放入 <asp:DataList ID"list2"runat"server"><ItemTemplate><asp:HyperLink ID"hl"runat"server"></asp:HyperLink></ItemTempl…

苹果5s变砖_苹果砖的故事以及可以改进的地方

苹果5s变砖Even since I can remember I’ve always been curious about trying out all kinds of software, checking out different operating systems, and improving my own user experience through customizing them. Over the years I’ve had the opportunity to test …

学习 launch-editor 源码整体架构,探究 vue-devtools「在编辑器中打开组件」功能实现原理...

1. 前言你好&#xff0c;我是若川[1]&#xff0c;微信搜索「若川视野」关注我&#xff0c;专注前端技术分享&#xff0c;一个愿景是帮助5年内前端开阔视野走向前列的公众号。欢迎加我微信ruochuan12&#xff0c;长期交流学习。这是学习源码整体架构系列 之 launch-editor 源码&…

:传递给 left 或 substring 函数的长度参数无效。_Java函数式编码结构-好程序员

好程序员Java培训分享Java函数式编码结构&#xff0c;本文将探讨三种下一代JVM语言&#xff1a;Groovy、Scala和Clojure&#xff0c;比较并对比新的功能和范例&#xff0c;让Java开发人员对自己近期的未来发展有大体的认识&#xff0c;下面我们一起来看一下吧。当垃圾回收成为主…

跨库一致性_设计跨平台的一致性

跨库一致性I offended an Apple employee the other day when I was checking out the new iPad Pro and I told him that I was an Android phone user. Eyes rolled, jokes were made, and we agreed to disagree.前几天&#xff0c;我在检阅新iPad Pro时冒犯了一名苹果员工&…

漫画 | 一个NB互联网项目的上线过程…

大家好&#xff0c;我是若川&#xff08;点这里加我微信 ruochuan12&#xff0c;长期交流学习&#xff09;。今天虽然是周六&#xff0c;但还是要上班&#xff0c;所以就推荐一篇比较轻松的漫画。点击下方卡片关注我、加个星标&#xff0c;或者查看源码等系列文章。学习源码整体…

胖子脸:库珀·布莱克100年

In 16th century Europe, roman typefaces were the first to surpass blackletter as the preferred choice for expressing emphasis in print. True bold weight roman letters didn’t appear until the 19th century, which critics quickly coined “Fat Faces” due to …

C语言中的布尔值

C语言的布尔类型在C语言标准(C89)没有定义布尔类型&#xff0c;所以C语言判断真假时以0为假&#xff0c;非0为真。所以我们通常使用逻辑变量的做法&#xff1a; //定义一个int类型变量&#xff0c;当变量值为0时表示false&#xff0c;值为1时表示trueint flag;flag 0;//......…