资源路由
5.0支持设置RESTFul
请求的资源路由,方式如下:
Route::resource('blog','index/blog'); //通过Route类调用resource方法,定义的路由规则,指向哪一个模块的控制器
或者在路由配置文件中使用__rest__
添加资源路由定义:
return [
// 定义资源路由
'__rest__'=>[
// 指向index模块的blog控制器
'blog'=>'index/blog',
],
// 定义普通路由
'hello/:id'=>'index/hello',
]
设置后会自动注册7个路由规则,如下:
标识 | 请求类型 | 生成路由规则 | 对应操作方法(默认) |
---|---|---|---|
index | GET | blog | index |
create | GET | blog/create | create |
save | POST | blog | save |
read | GET | blog/:id | read |
edit | GET | blog/:id/edit | edit |
update | PUT | blog/:id | update |
delete | DELETE | blog/:id | delete |
具体指向的控制器由路由地址决定,例如上面的设置,会对应index模块的blog控制器,你只需要为Blog控制器创建以上对应的操作方法就可以支持下面的URL访问:
http://serverName/blog/
http://serverName/blog/128
http://serverName/blog/28/edit
Blog控制器中的对应方法如下:
namespace app\index\controller;
class Blog {
public function index(){
}
public function read($id){
}
public function edit($id){
}
}
在建立一个新的类Blog.php
快捷路由
快捷路由允许你快速给控制器注册路由,并且针对不同的请求类型可以设置方法前缀,如
//给User控制器设置快捷路由
Route::controller( 'user' , 'index/User' ); //第一个参数(定义的路由规则),第二个参数(哪一个模块下的哪一个控制器)
User控制器定义如下:
<?php
namespace app\index\controller;
class Detail
{
public function getInfo()
{
}
public function getPhone()
{
}
public function postInfo()
{
}
public function putInfo()
{
}
public function deleteInfo()
{
}
}
?>
namespace app\index\controller;
class Detail
{
public function getInfo()
{
}
public function getPhone()
{
}
public function postInfo()
{
}
public function putInfo()
{
}
public function deleteInfo()
{
}
}
?>
时间:2018.4.30