老莫的笔记本  
  
查看: 902|回复: 1

TP5 路由参数

[复制链接]

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
发表于 2018-8-4 23:34:45 | 显示全部楼层 |阅读模式
概念: 就是 think\Route::rule('')  里面的参数 ; 作用就是验证当前规则;【我就想说是设置 可是教程上非说是验证】
路由参数的种类
1.请求类型----['method'=>'get|post']
2.URL后缀名----['ext'=>'html|shtml'] / ['deny_ext'=>'php']
3.回调函数----['callback'=>'回调函数名称']
4.域名检测----['domain'=>'tp5.com']
5.更多参数如绑定模块、合并额外参数等 需要查阅相关手册

一、请求类型
说明:最常用的是 GET 和 POST , 其它了解即可 【如 delete,put等】;
使用方法:
    1.1 如果注册方法已声明类型则无设置: Route::get() / post();
    1.2 Route::rule()/any():['method'=>'get|post']
    1.3 使用路由配置文件数组定义: ['method'=>'get|post']

二、URL后缀名
说明:限定可访问路由规则的URL后缀名称,默认为html ;【我擦 后台的兄弟一直想用伪静态啊 臭不要脸的】
使用方法[就是写法]
    2.1 允许的URL后缀:['ext'=>'html|shtml']
    2.2 禁止的URL后缀:['deny_ext'=>'jpj|png']
    2.3 允许URL后缀为空:['ext'=>'']
    2.4 禁止的URL后缀为空:['deny_ext'=>'']

三、用回调来验证路由规则
说明:回调函数返回true 则路由有效,反之则反
使用方法:
    3.1 回调函数应写在应用的公共方法中:common.php
    3.2 语法: ['callback'=>'回调函数名称']
    [例如:用回调来检测是否存在某个路由配置项,来决定是否执行路由规则]

四、域名验证
说明:检测调用当前路由规则的域名是不是参数所指定的域名
使用方法:
    4.1 语法格式: ['domain'=>'域名']
    4.2 支持子域名: ['domain'=>'子域名']
     例如: Route::get('demo','index/index/demo',['domain'=>'tp5.com']


回复

使用道具 举报

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
 楼主| 发表于 2018-8-5 00:53:45 | 显示全部楼层
5.变量规则
其实吧,就是检验参数的规则的正则,分为两种,
第一种局部变量,写法 同以前,
第二种全局变量
  1. // 配置全局变量规则第一种写法 写在路由文件配置的头部 config/route.php
  2. // think\Route::pattern({
  3. //     'namej'=>'[a-za-a]',
  4. //     'age' => '\d{2}'
  5. // });
  6. // 配置全局变量规则第二种写法
  7. return {
  8.     '__pattern__' => {
  9.         'namej'=>'[a-za-a]',
  10.          'age' => '\d{2}'
  11.     },
  12.     'lmlet/:lesson' => 'articles/test/lmlet', //继续配置路由
  13. }
复制代码
【在演示的时候,视频中先重配了一个参数值:  
   // URL参数方式 0 按名称成对解析 1 按顺序解析
    'url_param_type'         => 1,



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表