1.路由快速入门php
1.1 概念thinkphp
是指把数据从一个地方传送到另外一个地方的行为和动做,而路由器,正是执行这种行为动做的机器。它的英文名称为Router,是一种链接多个网络或者网段的网络设备,它能将不一样网络或者网段之间的数据信息进行“翻译”,已使它们可以相互“读懂”对方的数据,从而构成一个更大的网络。安全
总结起来就一句话:路由就是网络数据传输的最佳路径!( 广义上解释)请看下图:网络
1.2 项目当中的路由app
一个有效的Url请求的执行流程优化
路由:路由就像一个总调度,把用户不一样的请求,分发到对应的URL地址上(以项目中的方式来说)网站
ThinkPHP5的路由过程,就是从入口文件开始,找到对应方法的过程。搜索引擎
URL: http://tp5.com/index.php/index/user/add/101/peterurl
1.3 传统URL地址以及TP5普通路由spa
传统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优化