所在的位置: php >> php介绍 >> ThinkPHP5开发连载92tp5

ThinkPHP5开发连载92tp5

文章讲解“路由-闭包支持”,本篇文章讲解“路由-路由参数”。

路由参数

路由分组及规则定义支持指定路由参数,这些参数主要完成路由匹配检测以及行为执行。5.1版本极大改进了路由参数的用法。

注意:1.路由参数可以在定义路由规则的时候直接传入(批量),不过5.1采用了更加面向对象的方式进行路由参数配置,因此使用方法配置更加清晰。

路由参数表:

注意:1.ext和deny_ext参数允许设置为空,分别表示不允许任何后缀以及必须使用后缀访问。2.V5.1.6+版本开始,路由的before行为参数建议改为使用路由中间件替代。

1.路由参数

①新建Index控制器,并新建paramFun方法:

②设置paramFun方法的路由参数

预览:

以上方式与使用方法设置(新版推荐的设置方式)等效:

预览:

注意:1.显然第二种方式更加直观,而且便于IDE的自动提示。2.这些路由参数可以混合使用,只要有任何一条参数检查不通过,当前路由就不会生效,继续检测后面的路由规则。

2.URL后缀

注意:1.URL后缀如果是全局统一的话,可以在应用配置文件app.php中设置url_html_suffix参数,如果当前访问的URL地址中的URL后缀是允许的伪静态后缀,那么后缀本身是不会被作为参数值传入的。

不同参数设置的区别如下:

1)URL后缀的基本使用

①在Index控制器中,新建urlFun方法

②设置urlFun方法的路由

预览:

2)匹配多个后缀

重新设置urlFun方法的路由,设置可以匹配多个后缀:

预览:

3)禁止访问的URL后缀

重新设置urlFun方法的路由,设置禁止访问的URL后缀:

预览:

注意:1.如果denyExt方法不传入任何值,表示必须使用后缀访问。

3.域名检测

支持使用完整域名或者子域名进行检测。

1)完整域名检测

①在Index控制器中,新建domainFun方法

②设置domainFun方法的路由,进行域名检测

预览:

③修改domainFun方法的路由,域名检测的域名设置为其他的域名,测试是否能访问

预览:

注意:1.由于未设置虚拟域名,因此使用的是localhost,可以设置虚拟域名进行测试。

2)子域名检测

有子域名的域名可以进行子域名检测。

二级域名、三级域名统称为子域名。

注意:1.如果需要给子域名定义批量的路由规则,建议使用domain方法进行路由定义。

4.HTTPS检测

支持检测当前是否HTTPS访问。

1)HTTPS检测——必须使用HTTPS访问

①在Index控制器中,新建


转载请注明:http://www.aierlanlan.com/rzfs/3734.html