TP5 路由相关信息摘记

1 篇文章 0 订阅

TP5 路由定义

路由注册

rule方法注册

Route::rule('路由表达式','路由地址','请求类新','路由参数(数组)','变量规则(数组)');

例子:

Route::rule('new/:id','index/News/read','get');

对应到下面的:

  • new/:id 路由表达式
  • index/News/read 路由地址
  • get 请求类型

当你访问:http://serverName/new/5时就会自动访问PathInfo模式下的http://serverName/index/News/read/5,这里的5是参数,下面再介绍具体的参数传入方式。

get/post 简化写法

Route::get('new/:id','News/read');
Route::post('new','News/add');

可选参数

上面是使用:ParameterName的形式,表示路由地址中一定要带有该参数,否则不能匹配到路由设置,但是也可以使用[:ParameterName]——加方括号的形式,使用该形式后即使没有传入参数,也会匹配到该路由。

返回数组形式

return [
    'new/:id'=>'News/read',
    'news'=>['Newa/add',['method'=>'post']]
];

路由参数

参数名称说明
method请求类型
extURL后缀
deny_ext被禁止的后缀
https检测是否是https请求
domain域名检测
before_behavior前置行为检测
after_behavior后置行为
callback回调函数
merge_extra_vars合并额外参数
bind_model绑定模型
cache请求缓存
param_depr路由参数分隔符
ajaxAjax检测
pjaxPjax检测

- 前置/后置行为检测

Route::get(
    'user/:id',
    'index/User/read',
    ['before_behavior'=>'\app\index\behavior\UserCheck']
);

其中的\app\index\behavior\UserCheck表示一个具体的类,其中的方法是掐死的——run()

namespace app\index\behavior;

class UserCheck
{
    public function run()
    {
        if('user/0'==request()->url()){
            return false;
        }
    }
}

变量规则

设置方式

'参数名称'=>'正则表达式'

支持数组形式的多参数验证

全局设置

Route::pattern('参数名称','正则表达式');

路由可设置内容

定义方式定义格式
模块/控制器模块/控制器/操作?额外参数=值&额外参数=值
重定向地址外部地址
控制器的方法@模块/控制器/方法
类的方法\完整的命名空间::静态方法 或者 \完整的命名空间@动态方法
闭包函数闭包函数

快捷路由设置

return [
    '__rest__'=>[
        '路由地址'=>'模块/控制器'
    ]
];

其中各种类型的请求以及对应的方法如下:

请求类型路由规则对应操作方法主要工作
GET路由地址index获取管理页面
GET路由地址/createcreate获取新建页面
POST路由地址save保存新建页面提交数据
GET路由地址/:参数read获取该参数下的信息
GET路由地址/:参数/editedit获取该参数下信息的修改页面
PUT路由地址/:参数update保存修改页面提交过来的数据
DELETE路由地址/:参数delete删除信息

快捷设置时设置多个参数

// 路由地址1和路由地址2之间使用.进行分割
Route::resource('路由地址1.路由地址2'.'模块名/控制器名');

接着就是路由可以这样设置:

http://serverName/路由地址1/参数1/路由地址2/参数2

接着在控制器中,就可以这样获取这两个参数:

public function index(参数1,参数2){}

路由分组

Route::group(
    '路由公共前缀',
    [
        ['路由后缀1'=>['控制器设置']],
        ['路由后缀2'=>['控制器设置']]
    ]
);

默认路由

return [
    '__mission__'=>['控制器设置']
];

或者使用

Route::miss('控制器设置');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值