tp初始之路由

a、检查路由是否开启

不能将路由规则放在控制器:url路由匹配是从应用级别就开始的,如果路由规则放到控制器方法里,如果请求都执行到路由器的方法了,那么控制器里的路由规则就没有意义,并且真是的url地址都已经暴露,因此路由注册必须写在应用级别上,如果没有自定义配置目录,路由规则应该写在application目录下的route.php文件里。如果创建则应该在自定义目录下新建route文件

b、引入系统提供的路由类(注册路由规则,应该引入该类)


(将路由规则注册到框架中,使用think命名空间下的Route类的rule方法,因为该文件没有加命名空间所以think前面不用加反斜杠,表示从全局开始)

注册以后不能用pathinfo方法访问,如要用pathinfo方法访问需要关闭路由

c、路由访问模式,配置文件:(默认混合模式:设置了路由就用路由访问,没有就用pathinfo访问)


d、路由注册:

动态方法演示:此处路由参数即为后缀名必须为shtml,变量lesson必须为字符且十个以内长度

(index模块下的index控制器的index.phpdemo方法)

注意:上例中有变量lesson所以为动态路由规则,没有变量即为静态路由规则

配置数组:demo方法文件及返回结果同上,test方法配置简单因为不需要变量和规则


f、路由规则



带参数的路由规则

g、路由地址

路由种类:

模块/控制器/操作:

可访控制器:可访问的url控制器层名字默认为controller是可以改变的(在convention文件中,比如改为con那么模块中的控制器文件夹名称也要改为con)



支持额外参数:

(name是通过路由规则动态变量的方式传递的,而lesson是通过路由地址中的额外参数传入的)


操作方法

跳过模块初始化:在自定义配置文件的模块配置文件中定义了site_domain

在应用模块中访问配置文件定义的site_domain值


路由规则文件的路由地址前加上@符,就会跳过模块的初始化也就是不会执行模块的配置文件,直接执行到方法


类的方法(动态与静态):

在应用目录下创建类文件Test.php

在自定义配置文件的路由规则文件中


闭包函数


例子:



重定向地址




或者站外跳转



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值