laravel中资源路由的资源控制器的解析

资源控制器让围绕资源构建RESTful模式控制器变得更简单。比如,你可能希望创建一个的控制器,用来管理通过你的应用储存的图片( "photos" )。通过Artisan命令行输入 controller:make 命令以及路由中的 Route::resource 方法快速创建一个控制器。

如果要通过命令行创建控制器,使用如下命令:

php artisan controller:make PhotoController

现在我们可以为这个控制器注册一个资源模式的路由:

Route::resource('photo', 'PhotoController');

这一个路由声明创建了多个路由规则,用来处理各种图像(photo)资源的RESTful操作。同样地,刚刚创建的控制器中已经包含了许多对应的方法。每个方法都带有注释说明,告诉你分别是用来处理什么URI和HTTP动词的。

资源控制器中不同操作的用途
VerbPathActionRoute Name
GET/resourceindexresource.index
GET/resource/createcreateresource.create
POST/resourcestoreresource.store
GET/resource/{resource}showresource.show
GET/resource/{resource}/editeditresource.edit
PUT/PATCH/resource/{resource}updateresource.update
DELETE/resource/{resource}destroyresource.destroy

有时你也许只需要处理其中一部分资源操作:

php artisan controller:make PhotoController --only=index,show

php artisan controller:make PhotoController --except=index

同样,你也许需要在路由中制定那一部分要处理的操作:

Route::resource('photo', 'PhotoController',
                array('only' => array('index', 'show')));

Route::resource('photo', 'PhotoController',
                array('except' => array('create', 'store', 'update', 'destroy')));

By default, all resource controller actions have a route name; however, you can override these names by passing a names array with your options:

Route::resource('photo', 'PhotoController', array('names' => array('create' => 'photo.build')));


以上的laravel4.3的文档(https://docs.golaravel.com/docs/4.1/controllers/#resource-controllers

刚开始的时候我很不明白,这个资源路由到底怎么回事,而控制器中的方法又是怎么定义的,后来慢慢明白了,上面的表格,其实就是控制器里面的方法名字,没有get,没有post,没有其他,简简单单一个单词,就是方法了!


注意:

1.当你在路由中已经定义了资源路由‘photo’,而你又感觉这些自带的方法不能满足你的项目需求,这时候你还是可以自定义一些路由和方法的,切记,此时定义的路由中不能呢再有photo,比如

Route::get('photo/detail','PhotoController@getDetail');
这样是严重不对的

2.在页面中也经常使用到路由,这时候可以这样写,

<a href="{{ Route('admcase.index', $iCaseSetId) }}">返回</a>
这是找资源路由对应的资源控制器的index方法,顺便带了一个参数





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值