赞
踩
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是参数,下面再介绍具体的参数传入方式。
Route::get('new/:id','News/read');
Route::post('new','News/add');
上面是使用:ParameterName
的形式,表示路由地址中一定要带有该参数,否则不能匹配到路由设置,但是也可以使用[:ParameterName]
——加方括号的形式,使用该形式后即使没有传入参数,也会匹配到该路由。
return [
'new/:id'=>'News/read',
'news'=>['Newa/add',['method'=>'post']]
];
参数名称 | 说明 |
---|---|
method | 请求类型 |
ext | URL后缀 |
deny_ext | 被禁止的后缀 |
https | 检测是否是https请求 |
domain | 域名检测 |
before_behavior | 前置行为检测 |
after_behavior | 后置行为 |
callback | 回调函数 |
merge_extra_vars | 合并额外参数 |
bind_model | 绑定模型 |
cache | 请求缓存 |
param_depr | 路由参数分隔符 |
ajax | Ajax检测 |
pjax | Pjax检测 |
- 前置/后置行为检测
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 | 路由地址/create | create | 获取新建页面 |
POST | 路由地址 | save | 保存新建页面提交数据 |
GET | 路由地址/:参数 | read | 获取该参数下的信息 |
GET | 路由地址/:参数/edit | edit | 获取该参数下信息的修改页面 |
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('控制器设置');
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。